!function (t) {
    function e(i) {
        if (n[i])return n[i].exports;
        var o = n[i] = {exports: {}, id: i, loaded: !1};
        return t[i].call(o.exports, o, o.exports, e), o.loaded = !0, o.exports
    }

    var n = {};
    return e.m = t, e.c = n, e.p = "", e(0)
}([function (t, e, n) {
    n(1), n(3), n(4), window.txv = {};
    var i = n(7), o = n(16);
    txv.lazyload = n(17), txv.lazyload.init(["img"]);
    var r = n(19), a = n(21), s = n(32);
    n(33);
    txv.nav = n(34);
    var c = n(55), l = n(96);
    txv.ua = n(14), txv.btnTj = r.btnTj, txv.cookie = n(6), txv.Message = n(35), txv.EventList = n(36), txv.vip = c, txv.util = n(15), txv.clipboard = n(85), txv.login = n(5), txv.log = n(42), txv.searchbox = n(98), txv.searchboxV2 = n(105), txv.report = n(12), txv.lazyreport = n(9), txv.Boss = a, txv.viptips = n(113), n(114).init(), txv.tj2 = {
        pv: i.pv,
        btnTj: r.btnTj,
        virtualpv: o.pv,
        getPtag: r.getPtag,
        getQtag: r.getQtag
    }, txv.login.init(), txv.login.addReadyCallback(function () {
        c.getVipInfo()
    });
    var u = !1;
    txv.common = {
        initPage: function (t) {
            if (!u) {
                u = !0, txv.login.addReadyCallback(function () {
                    txv.viptips.init()
                }), $("#searchForm").size() ? txv.searchboxV2.init() : txv.searchbox.initHeadSearch();
                try {
                    if ("undefined" == typeof t && /^http[s]?:\/\/v\.qq\.com\/u\//.test(location.href)) {
                        t = {boss: {app: "", page: ""}};
                        var e = location.href, n = /^http[s]?\:\/\/v\.qq\.com\/u\/([a-zA-Z0-9\_]*)\.*\/*[html|htm|*]*/, i = e.match(n);
                        i && i.length >= 2 && (t.boss.page = i[1], t.boss.app = "ucenter")
                    }
                } catch (o) {
                }
                r.init(t), a.init(t);
                try {
                    s.init()
                } catch (o) {
                    window.console && "function" == typeof window.console.log ? console.log(o) : ""
                }
                setTimeout(function () {
                    function t() {
                        window.Webtips && window.Webtips({from: "core"})
                    }

                    window.Webtips ? t() : l("//vm.gtimg.cn/tencentvideo/script/webtips/comp/webtips.min.js?v=3", function (e) {
                            t()
                        })
                }, 3e3)
            }
        }
    }, i.keyPrefix = "txv.", o.virtualPath = "/txv/"
}, function (t, e, n) {
    var i, o;
    !function (r, a) {
        function s(t) {
            var e = t.length, n = dt.type(t);
            return !dt.isWindow(t) && (!(1 !== t.nodeType || !e) || ("array" === n || "function" !== n && (0 === e || "number" == typeof e && e > 0 && e - 1 in t)))
        }

        function c(t) {
            var e = St[t] = {};
            return dt.each(t.match(gt) || [], function (t, n) {
                e[n] = !0
            }), e
        }

        function l(t, e, n, i) {
            if (dt.acceptData(t)) {
                var o, r, s = dt.expando, c = "string" == typeof e, l = t.nodeType, u = l ? dt.cache : t, f = l ? t[s] : t[s] && s;
                if (f && u[f] && (i || u[f].data) || !c || n !== a)return f || (l ? t[s] = f = ot.pop() || dt.guid++ : f = s), u[f] || (u[f] = {}, l || (u[f].toJSON = dt.noop)), ("object" == typeof e || "function" == typeof e) && (i ? u[f] = dt.extend(u[f], e) : u[f].data = dt.extend(u[f].data, e)), o = u[f], i || (o.data || (o.data = {}), o = o.data), n !== a && (o[dt.camelCase(e)] = n), c ? (r = o[e], null == r && (r = o[dt.camelCase(e)])) : r = o, r
            }
        }

        function u(t, e, n) {
            if (dt.acceptData(t)) {
                var i, o, r, a = t.nodeType, s = a ? dt.cache : t, c = a ? t[dt.expando] : dt.expando;
                if (s[c]) {
                    if (e && (r = n ? s[c] : s[c].data)) {
                        dt.isArray(e) ? e = e.concat(dt.map(e, dt.camelCase)) : e in r ? e = [e] : (e = dt.camelCase(e), e = e in r ? [e] : e.split(" "));
                        for (i = 0, o = e.length; o > i; i++)delete r[e[i]];
                        if (!(n ? p : dt.isEmptyObject)(r))return
                    }
                    (n || (delete s[c].data, p(s[c]))) && (a ? dt.cleanData([t], !0) : dt.support.deleteExpando || s != s.window ? delete s[c] : s[c] = null)
                }
            }
        }

        function f(t, e, n) {
            if (n === a && 1 === t.nodeType) {
                var i = "data-" + e.replace(Et, "-$1").toLowerCase();
                if (n = t.getAttribute(i), "string" == typeof n) {
                    try {
                        n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : $t.test(n) ? dt.parseJSON(n) : n)
                    } catch (o) {
                    }
                    dt.data(t, e, n)
                } else n = a
            }
            return n
        }

        function p(t) {
            var e;
            for (e in t)if (("data" !== e || !dt.isEmptyObject(t[e])) && "toJSON" !== e)return !1;
            return !0
        }

        function d() {
            return !0
        }

        function h() {
            return !1
        }

        function g(t, e) {
            do t = t[e]; while (t && 1 !== t.nodeType);
            return t
        }

        function v(t, e, n) {
            if (e = e || 0, dt.isFunction(e))return dt.grep(t, function (t, i) {
                var o = !!e.call(t, i, t);
                return o === n
            });
            if (e.nodeType)return dt.grep(t, function (t) {
                return t === e === n
            });
            if ("string" == typeof e) {
                var i = dt.grep(t, function (t) {
                    return 1 === t.nodeType
                });
                if (Xt.test(e))return dt.filter(e, i, !n);
                e = dt.filter(e, i)
            }
            return dt.grep(t, function (t) {
                return dt.inArray(t, e) >= 0 === n
            })
        }

        function m(t) {
            var e = Yt.split("|"), n = t.createDocumentFragment();
            if (n.createElement)for (; e.length;)n.createElement(e.pop());
            return n
        }

        function _(t, e) {
            return t.getElementsByTagName(e)[0] || t.appendChild(t.ownerDocument.createElement(e))
        }

        function y(t) {
            var e = t.getAttributeNode("type");
            return t.type = (e && e.specified) + "/" + t.type, t
        }

        function b(t) {
            var e = le.exec(t.type);
            return e ? t.type = e[1] : t.removeAttribute("type"), t
        }

        function x(t, e) {
            for (var n, i = 0; null != (n = t[i]); i++)dt._data(n, "globalEval", !e || dt._data(e[i], "globalEval"))
        }

        function k(t, e) {
            if (1 === e.nodeType && dt.hasData(t)) {
                var n, i, o, r = dt._data(t), a = dt._data(e, r), s = r.events;
                if (s) {
                    delete a.handle, a.events = {};
                    for (n in s)for (i = 0, o = s[n].length; o > i; i++)dt.event.add(e, n, s[n][i])
                }
                a.data && (a.data = dt.extend({}, a.data))
            }
        }

        function w(t, e) {
            var n, i, o;
            if (1 === e.nodeType) {
                if (n = e.nodeName.toLowerCase(), !dt.support.noCloneEvent && e[dt.expando]) {
                    o = dt._data(e);
                    for (i in o.events)dt.removeEvent(e, i, o.handle);
                    e.removeAttribute(dt.expando)
                }
                "script" === n && e.text !== t.text ? (y(e).text = t.text, b(e)) : "object" === n ? (e.parentNode && (e.outerHTML = t.outerHTML), dt.support.html5Clone && t.innerHTML && !dt.trim(e.innerHTML) && (e.innerHTML = t.innerHTML)) : "input" === n && ae.test(t.type) ? (e.defaultChecked = e.checked = t.checked, e.value !== t.value && (e.value = t.value)) : "option" === n ? e.defaultSelected = e.selected = t.defaultSelected : ("input" === n || "textarea" === n) && (e.defaultValue = t.defaultValue)
            }
        }

        function C(t, e) {
            var n, i, o = 0, r = typeof t.getElementsByTagName !== K ? t.getElementsByTagName(e || "*") : typeof t.querySelectorAll !== K ? t.querySelectorAll(e || "*") : a;
            if (!r)for (r = [], n = t.childNodes || t; null != (i = n[o]); o++)!e || dt.nodeName(i, e) ? r.push(i) : dt.merge(r, C(i, e));
            return e === a || e && dt.nodeName(t, e) ? dt.merge([t], r) : r
        }

        function T(t) {
            ae.test(t.type) && (t.defaultChecked = t.checked)
        }

        function q(t, e) {
            if (e in t)return e;
            for (var n = e.charAt(0).toUpperCase() + e.slice(1), i = e, o = $e.length; o--;)if (e = $e[o] + n, e in t)return e;
            return i
        }

        function j(t, e) {
            return t = e || t, "none" === dt.css(t, "display") || !dt.contains(t.ownerDocument, t)
        }

        function S(t, e) {
            for (var n, i, o, r = [], a = 0, s = t.length; s > a; a++)i = t[a], i.style && (r[a] = dt._data(i, "olddisplay"), n = i.style.display, e ? (r[a] || "none" !== n || (i.style.display = ""), "" === i.style.display && j(i) && (r[a] = dt._data(i, "olddisplay", N(i.nodeName)))) : r[a] || (o = j(i), (n && "none" !== n || !o) && dt._data(i, "olddisplay", o ? n : dt.css(i, "display"))));
            for (a = 0; s > a; a++)i = t[a], i.style && (e && "none" !== i.style.display && "" !== i.style.display || (i.style.display = e ? r[a] || "" : "none"));
            return t
        }

        function $(t, e, n) {
            var i = ke.exec(e);
            return i ? Math.max(0, i[1] - (n || 0)) + (i[2] || "px") : e
        }

        function E(t, e, n, i, o) {
            for (var r = n === (i ? "border" : "content") ? 4 : "width" === e ? 1 : 0, a = 0; 4 > r; r += 2)"margin" === n && (a += dt.css(t, n + Se[r], !0, o)), i ? ("content" === n && (a -= dt.css(t, "padding" + Se[r], !0, o)), "margin" !== n && (a -= dt.css(t, "border" + Se[r] + "Width", !0, o))) : (a += dt.css(t, "padding" + Se[r], !0, o), "padding" !== n && (a += dt.css(t, "border" + Se[r] + "Width", !0, o)));
            return a
        }

        function L(t, e, n) {
            var i = !0, o = "width" === e ? t.offsetWidth : t.offsetHeight, r = ge(t), a = dt.support.boxSizing && "border-box" === dt.css(t, "boxSizing", !1, r);
            if (0 >= o || null == o) {
                if (o = ve(t, e, r), (0 > o || null == o) && (o = t.style[e]), we.test(o))return o;
                i = a && (dt.support.boxSizingReliable || o === t.style[e]), o = parseFloat(o) || 0
            }
            return o + E(t, e, n || (a ? "border" : "content"), i, r) + "px"
        }

        function N(t) {
            var e = Z, n = Te[t];
            return n || (n = I(t, e), "none" !== n && n || (he = (he || dt("<iframe frameborder='0' width='0' height='0'/>").css("cssText", "display:block !important")).appendTo(e.documentElement), e = (he[0].contentWindow || he[0].contentDocument).document, e.write("<!doctype html><html><body>"), e.close(), n = I(t, e), he.detach()), Te[t] = n), n
        }

        function I(t, e) {
            var n = dt(e.createElement(t)).appendTo(e.body), i = dt.css(n[0], "display");
            return n.remove(), i
        }

        function A(t, e, n, i) {
            var o;
            if (dt.isArray(e)) dt.each(e, function (e, o) {
                n || Le.test(t) ? i(t, o) : A(t + "[" + ("object" == typeof o ? e : "") + "]", o, n, i)
            }); else if (n || "object" !== dt.type(e)) i(t, e); else for (o in e)A(t + "[" + o + "]", e[o], n, i)
        }

        function O(t) {
            return function (e, n) {
                "string" != typeof e && (n = e, e = "*");
                var i, o = 0, r = e.toLowerCase().match(gt) || [];
                if (dt.isFunction(n))for (; i = r[o++];)"+" === i[0] ? (i = i.slice(1) || "*", (t[i] = t[i] || []).unshift(n)) : (t[i] = t[i] || []).push(n)
            }
        }

        function B(t, e, n, i) {
            function o(c) {
                var l;
                return r[c] = !0, dt.each(t[c] || [], function (t, c) {
                    var u = c(e, n, i);
                    return "string" != typeof u || s || r[u] ? s ? !(l = u) : a : (e.dataTypes.unshift(u), o(u), !1)
                }), l
            }

            var r = {}, s = t === Xe;
            return o(e.dataTypes[0]) || !r["*"] && o("*")
        }

        function R(t, e) {
            var n, i, o = dt.ajaxSettings.flatOptions || {};
            for (i in e)e[i] !== a && ((o[i] ? t : n || (n = {}))[i] = e[i]);
            return n && dt.extend(!0, t, n), t
        }

        function D(t, e, n) {
            var i, o, r, s, c = t.contents, l = t.dataTypes, u = t.responseFields;
            for (s in u)s in n && (e[u[s]] = n[s]);
            for (; "*" === l[0];)l.shift(), o === a && (o = t.mimeType || e.getResponseHeader("Content-Type"));
            if (o)for (s in c)if (c[s] && c[s].test(o)) {
                l.unshift(s);
                break
            }
            if (l[0] in n) r = l[0]; else {
                for (s in n) {
                    if (!l[0] || t.converters[s + " " + l[0]]) {
                        r = s;
                        break
                    }
                    i || (i = s)
                }
                r = r || i
            }
            return r ? (r !== l[0] && l.unshift(r), n[r]) : a
        }

        function P(t, e) {
            var n, i, o, r, a = {}, s = 0, c = t.dataTypes.slice(), l = c[0];
            if (t.dataFilter && (e = t.dataFilter(e, t.dataType)), c[1])for (o in t.converters)a[o.toLowerCase()] = t.converters[o];
            for (; i = c[++s];)if ("*" !== i) {
                if ("*" !== l && l !== i) {
                    if (o = a[l + " " + i] || a["* " + i], !o)for (n in a)if (r = n.split(" "), r[1] === i && (o = a[l + " " + r[0]] || a["* " + r[0]])) {
                        o === !0 ? o = a[n] : a[n] !== !0 && (i = r[0], c.splice(s--, 0, i));
                        break
                    }
                    if (o !== !0)if (o && t["throws"]) e = o(e); else try {
                        e = o(e)
                    } catch (u) {
                        return {state: "parsererror", error: o ? u : "No conversion from " + l + " to " + i}
                    }
                }
                l = i
            }
            return {state: "success", data: e}
        }

        function M() {
            try {
                return new r.XMLHttpRequest
            } catch (t) {
            }
        }

        function H() {
            try {
                return new r.ActiveXObject("Microsoft.XMLHTTP")
            } catch (t) {
            }
        }

        function F() {
            return setTimeout(function () {
                on = a
            }), on = dt.now()
        }

        function U(t, e) {
            dt.each(e, function (e, n) {
                for (var i = (un[e] || []).concat(un["*"]), o = 0, r = i.length; r > o; o++)if (i[o].call(t, e, n))return
            })
        }

        function z(t, e, n) {
            var i, o, r = 0, a = ln.length, s = dt.Deferred().always(function () {
                delete c.elem
            }), c = function () {
                if (o)return !1;
                for (var e = on || F(), n = Math.max(0, l.startTime + l.duration - e), i = n / l.duration || 0, r = 1 - i, a = 0, c = l.tweens.length; c > a; a++)l.tweens[a].run(r);
                return s.notifyWith(t, [l, r, n]), 1 > r && c ? n : (s.resolveWith(t, [l]), !1)
            }, l = s.promise({
                elem: t,
                props: dt.extend({}, e),
                opts: dt.extend(!0, {specialEasing: {}}, n),
                originalProperties: e,
                originalOptions: n,
                startTime: on || F(),
                duration: n.duration,
                tweens: [],
                createTween: function (e, n) {
                    var i = dt.Tween(t, l.opts, e, n, l.opts.specialEasing[e] || l.opts.easing);
                    return l.tweens.push(i), i
                },
                stop: function (e) {
                    var n = 0, i = e ? l.tweens.length : 0;
                    if (o)return this;
                    for (o = !0; i > n; n++)l.tweens[n].run(1);
                    return e ? s.resolveWith(t, [l, e]) : s.rejectWith(t, [l, e]), this
                }
            }), u = l.props;
            for (W(u, l.opts.specialEasing); a > r; r++)if (i = ln[r].call(l, t, u, l.opts))return i;
            return U(l, u), dt.isFunction(l.opts.start) && l.opts.start.call(t, l), dt.fx.timer(dt.extend(c, {
                elem: t,
                anim: l,
                queue: l.opts.queue
            })), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always)
        }

        function W(t, e) {
            var n, i, o, r, a;
            for (o in t)if (i = dt.camelCase(o), r = e[i], n = t[o], dt.isArray(n) && (r = n[1], n = t[o] = n[0]), o !== i && (t[i] = n, delete t[o]), a = dt.cssHooks[i], a && "expand" in a) {
                n = a.expand(n), delete t[i];
                for (o in n)o in t || (t[o] = n[o], e[o] = r)
            } else e[i] = r
        }

        function V(t, e, n) {
            var i, o, r, a, s, c, l, u, f, p = this, d = t.style, h = {}, g = [], v = t.nodeType && j(t);
            n.queue || (u = dt._queueHooks(t, "fx"), null == u.unqueued && (u.unqueued = 0, f = u.empty.fire, u.empty.fire = function () {
                u.unqueued || f()
            }), u.unqueued++, p.always(function () {
                p.always(function () {
                    u.unqueued--, dt.queue(t, "fx").length || u.empty.fire()
                })
            })), 1 === t.nodeType && ("height" in e || "width" in e) && (n.overflow = [d.overflow, d.overflowX, d.overflowY], "inline" === dt.css(t, "display") && "none" === dt.css(t, "float") && (dt.support.inlineBlockNeedsLayout && "inline" !== N(t.nodeName) ? d.zoom = 1 : d.display = "inline-block")), n.overflow && (d.overflow = "hidden", dt.support.shrinkWrapBlocks || p.always(function () {
                d.overflow = n.overflow[0], d.overflowX = n.overflow[1], d.overflowY = n.overflow[2]
            }));
            for (o in e)if (a = e[o], an.exec(a)) {
                if (delete e[o], c = c || "toggle" === a, a === (v ? "hide" : "show"))continue;
                g.push(o)
            }
            if (r = g.length) {
                s = dt._data(t, "fxshow") || dt._data(t, "fxshow", {}), "hidden" in s && (v = s.hidden), c && (s.hidden = !v), v ? dt(t).show() : p.done(function () {
                        dt(t).hide()
                    }), p.done(function () {
                    var e;
                    dt._removeData(t, "fxshow");
                    for (e in h)dt.style(t, e, h[e])
                });
                for (o = 0; r > o; o++)i = g[o], l = p.createTween(i, v ? s[i] : 0), h[i] = s[i] || dt.style(t, i), i in s || (s[i] = l.start, v && (l.end = l.start, l.start = "width" === i || "height" === i ? 1 : 0))
            }
        }

        function Q(t, e, n, i, o) {
            return new Q.prototype.init(t, e, n, i, o)
        }

        function X(t, e) {
            var n, i = {height: t}, o = 0;
            for (e = e ? 1 : 0; 4 > o; o += 2 - e)n = Se[o], i["margin" + n] = i["padding" + n] = t;
            return e && (i.opacity = i.width = t), i
        }

        function G(t) {
            return dt.isWindow(t) ? t : 9 === t.nodeType && (t.defaultView || t.parentWindow)
        }

        var J, Y, K = typeof a, Z = r.document, tt = r.location, et = r.jQuery, nt = r.$, it = {}, ot = [], rt = "1.9.1", at = ot.concat, st = ot.push, ct = ot.slice, lt = ot.indexOf, ut = it.toString, ft = it.hasOwnProperty, pt = rt.trim, dt = function (t, e) {
            return new dt.fn.init(t, e, Y)
        }, ht = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, gt = /\S+/g, vt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, mt = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, _t = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, yt = /^[\],:{}\s]*$/, bt = /(?:^|:|,)(?:\s*\[)+/g, xt = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, kt = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, wt = /^-ms-/, Ct = /-([\da-z])/gi, Tt = function (t, e) {
            return e.toUpperCase()
        }, qt = function (t) {
            (Z.addEventListener || "load" === t.type || "complete" === Z.readyState) && (jt(), dt.ready())
        }, jt = function () {
            Z.addEventListener ? (Z.removeEventListener("DOMContentLoaded", qt, !1), r.removeEventListener("load", qt, !1)) : (Z.detachEvent("onreadystatechange", qt), r.detachEvent("onload", qt))
        };
        dt.fn = dt.prototype = {
            jquery: rt, constructor: dt, init: function (t, e, n) {
                var i, o;
                if (!t)return this;
                if ("string" == typeof t) {
                    if (i = "<" === t.charAt(0) && ">" === t.charAt(t.length - 1) && t.length >= 3 ? [null, t, null] : mt.exec(t), !i || !i[1] && e)return !e || e.jquery ? (e || n).find(t) : this.constructor(e).find(t);
                    if (i[1]) {
                        if (e = e instanceof dt ? e[0] : e, dt.merge(this, dt.parseHTML(i[1], e && e.nodeType ? e.ownerDocument || e : Z, !0)), _t.test(i[1]) && dt.isPlainObject(e))for (i in e)dt.isFunction(this[i]) ? this[i](e[i]) : this.attr(i, e[i]);
                        return this
                    }
                    if (o = Z.getElementById(i[2]), o && o.parentNode) {
                        if (o.id !== i[2])return n.find(t);
                        this.length = 1, this[0] = o
                    }
                    return this.context = Z, this.selector = t, this
                }
                return t.nodeType ? (this.context = this[0] = t, this.length = 1, this) : dt.isFunction(t) ? n.ready(t) : (t.selector !== a && (this.selector = t.selector, this.context = t.context), dt.makeArray(t, this))
            }, selector: "", length: 0, size: function () {
                return this.length
            }, toArray: function () {
                return ct.call(this)
            }, get: function (t) {
                return null == t ? this.toArray() : 0 > t ? this[this.length + t] : this[t]
            }, pushStack: function (t) {
                var e = dt.merge(this.constructor(), t);
                return e.prevObject = this, e.context = this.context, e
            }, each: function (t, e) {
                return dt.each(this, t, e)
            }, ready: function (t) {
                return dt.ready.promise().done(t), this
            }, slice: function () {
                return this.pushStack(ct.apply(this, arguments))
            }, first: function () {
                return this.eq(0)
            }, last: function () {
                return this.eq(-1)
            }, eq: function (t) {
                var e = this.length, n = +t + (0 > t ? e : 0);
                return this.pushStack(n >= 0 && e > n ? [this[n]] : [])
            }, map: function (t) {
                return this.pushStack(dt.map(this, function (e, n) {
                    return t.call(e, n, e)
                }))
            }, end: function () {
                return this.prevObject || this.constructor(null)
            }, push: st, sort: [].sort, splice: [].splice
        }, dt.fn.init.prototype = dt.fn, dt.extend = dt.fn.extend = function () {
            var t, e, n, i, o, r, s = arguments[0] || {}, c = 1, l = arguments.length, u = !1;
            for ("boolean" == typeof s && (u = s, s = arguments[1] || {}, c = 2), "object" == typeof s || dt.isFunction(s) || (s = {}), l === c && (s = this, --c); l > c; c++)if (null != (o = arguments[c]))for (i in o)t = s[i], n = o[i], s !== n && (u && n && (dt.isPlainObject(n) || (e = dt.isArray(n))) ? (e ? (e = !1, r = t && dt.isArray(t) ? t : []) : r = t && dt.isPlainObject(t) ? t : {}, s[i] = dt.extend(u, r, n)) : n !== a && (s[i] = n));
            return s
        }, dt.extend({
            noConflict: function (t) {
                return r.$ === dt && (r.$ = nt), t && r.jQuery === dt && (r.jQuery = et), dt
            }, isReady: !1, readyWait: 1, holdReady: function (t) {
                t ? dt.readyWait++ : dt.ready(!0)
            }, ready: function (t) {
                if (t === !0 ? !--dt.readyWait : !dt.isReady) {
                    if (!Z.body)return setTimeout(dt.ready);
                    dt.isReady = !0, t !== !0 && --dt.readyWait > 0 || (J.resolveWith(Z, [dt]), dt.fn.trigger && dt(Z).trigger("ready").off("ready"))
                }
            }, isFunction: function (t) {
                return "function" === dt.type(t)
            }, isArray: Array.isArray || function (t) {
                return "array" === dt.type(t)
            }, isWindow: function (t) {
                return null != t && t == t.window
            }, isNumeric: function (t) {
                return !isNaN(parseFloat(t)) && isFinite(t)
            }, type: function (t) {
                return null == t ? t + "" : "object" == typeof t || "function" == typeof t ? it[ut.call(t)] || "object" : typeof t
            }, isPlainObject: function (t) {
                if (!t || "object" !== dt.type(t) || t.nodeType || dt.isWindow(t))return !1;
                try {
                    if (t.constructor && !ft.call(t, "constructor") && !ft.call(t.constructor.prototype, "isPrototypeOf"))return !1
                } catch (e) {
                    return !1
                }
                var n;
                for (n in t);
                return n === a || ft.call(t, n)
            }, isEmptyObject: function (t) {
                var e;
                for (e in t)return !1;
                return !0
            }, error: function (t) {
                throw Error(t)
            }, parseHTML: function (t, e, n) {
                if (!t || "string" != typeof t)return null;
                "boolean" == typeof e && (n = e, e = !1), e = e || Z;
                var i = _t.exec(t), o = !n && [];
                return i ? [e.createElement(i[1])] : (i = dt.buildFragment([t], e, o), o && dt(o).remove(), dt.merge([], i.childNodes))
            }, parseJSON: function (t) {
                return r.JSON && r.JSON.parse ? r.JSON.parse(t) : null === t ? t : "string" == typeof t && (t = dt.trim(t), t && yt.test(t.replace(xt, "@").replace(kt, "]").replace(bt, ""))) ? Function("return " + t)() : (dt.error("Invalid JSON: " + t), a)
            }, parseXML: function (t) {
                var e, n;
                if (!t || "string" != typeof t)return null;
                try {
                    r.DOMParser ? (n = new DOMParser, e = n.parseFromString(t, "text/xml")) : (e = new ActiveXObject("Microsoft.XMLDOM"), e.async = "false", e.loadXML(t))
                } catch (i) {
                    e = a
                }
                return e && e.documentElement && !e.getElementsByTagName("parsererror").length || dt.error("Invalid XML: " + t), e
            }, noop: function () {
            }, globalEval: function (t) {
                t && dt.trim(t) && (r.execScript || function (t) {
                    r.eval.call(r, t)
                })(t)
            }, camelCase: function (t) {
                return t.replace(wt, "ms-").replace(Ct, Tt)
            }, nodeName: function (t, e) {
                return t.nodeName && t.nodeName.toLowerCase() === e.toLowerCase()
            }, each: function (t, e, n) {
                var i, o = 0, r = t.length, a = s(t);
                if (n) {
                    if (a)for (; r > o && (i = e.apply(t[o], n), i !== !1); o++); else for (o in t)if (i = e.apply(t[o], n), i === !1)break
                } else if (a)for (; r > o && (i = e.call(t[o], o, t[o]), i !== !1); o++); else for (o in t)if (i = e.call(t[o], o, t[o]), i === !1)break;
                return t
            }, trim: pt && !pt.call("\ufeff ") ? function (t) {
                    return null == t ? "" : pt.call(t)
                } : function (t) {
                    return null == t ? "" : (t + "").replace(vt, "")
                }, makeArray: function (t, e) {
                var n = e || [];
                return null != t && (s(Object(t)) ? dt.merge(n, "string" == typeof t ? [t] : t) : st.call(n, t)), n
            }, inArray: function (t, e, n) {
                var i;
                if (e) {
                    if (lt)return lt.call(e, t, n);
                    for (i = e.length, n = n ? 0 > n ? Math.max(0, i + n) : n : 0; i > n; n++)if (n in e && e[n] === t)return n
                }
                return -1
            }, merge: function (t, e) {
                var n = e.length, i = t.length, o = 0;
                if ("number" == typeof n)for (; n > o; o++)t[i++] = e[o]; else for (; e[o] !== a;)t[i++] = e[o++];
                return t.length = i, t
            }, grep: function (t, e, n) {
                var i, o = [], r = 0, a = t.length;
                for (n = !!n; a > r; r++)i = !!e(t[r], r), n !== i && o.push(t[r]);
                return o
            }, map: function (t, e, n) {
                var i, o = 0, r = t.length, a = s(t), c = [];
                if (a)for (; r > o; o++)i = e(t[o], o, n), null != i && (c[c.length] = i); else for (o in t)i = e(t[o], o, n), null != i && (c[c.length] = i);
                return at.apply([], c)
            }, guid: 1, proxy: function (t, e) {
                var n, i, o;
                return "string" == typeof e && (o = t[e], e = t, t = o), dt.isFunction(t) ? (n = ct.call(arguments, 2), i = function () {
                        return t.apply(e || this, n.concat(ct.call(arguments)))
                    }, i.guid = t.guid = t.guid || dt.guid++, i) : a
            }, access: function (t, e, n, i, o, r, s) {
                var c = 0, l = t.length, u = null == n;
                if ("object" === dt.type(n)) {
                    o = !0;
                    for (c in n)dt.access(t, e, c, n[c], !0, r, s)
                } else if (i !== a && (o = !0, dt.isFunction(i) || (s = !0), u && (s ? (e.call(t, i), e = null) : (u = e, e = function (t, e, n) {
                            return u.call(dt(t), n)
                        })), e))for (; l > c; c++)e(t[c], n, s ? i : i.call(t[c], c, e(t[c], n)));
                return o ? t : u ? e.call(t) : l ? e(t[0], n) : r
            }, now: function () {
                return (new Date).getTime()
            }
        }), dt.ready.promise = function (t) {
            if (!J)if (J = dt.Deferred(), "complete" === Z.readyState) setTimeout(dt.ready); else if (Z.addEventListener) Z.addEventListener("DOMContentLoaded", qt, !1), r.addEventListener("load", qt, !1); else {
                Z.attachEvent("onreadystatechange", qt), r.attachEvent("onload", qt);
                var e = !1;
                try {
                    e = null == r.frameElement && Z.documentElement
                } catch (n) {
                }
                e && e.doScroll && function i() {
                    if (!dt.isReady) {
                        try {
                            e.doScroll("left")
                        } catch (t) {
                            return setTimeout(i, 50)
                        }
                        jt(), dt.ready()
                    }
                }()
            }
            return J.promise(t)
        }, dt.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function (t, e) {
            it["[object " + e + "]"] = e.toLowerCase()
        }), Y = dt(Z);
        var St = {};
        dt.Callbacks = function (t) {
            t = "string" == typeof t ? St[t] || c(t) : dt.extend({}, t);
            var e, n, i, o, r, s, l = [], u = !t.once && [], f = function (a) {
                for (n = t.memory && a, i = !0, r = s || 0, s = 0, o = l.length, e = !0; l && o > r; r++)if (l[r].apply(a[0], a[1]) === !1 && t.stopOnFalse) {
                    n = !1;
                    break
                }
                e = !1, l && (u ? u.length && f(u.shift()) : n ? l = [] : p.disable())
            }, p = {
                add: function () {
                    if (l) {
                        var i = l.length;
                        !function r(e) {
                            dt.each(e, function (e, n) {
                                var i = dt.type(n);
                                "function" === i ? t.unique && p.has(n) || l.push(n) : n && n.length && "string" !== i && r(n)
                            })
                        }(arguments), e ? o = l.length : n && (s = i, f(n))
                    }
                    return this
                }, remove: function () {
                    return l && dt.each(arguments, function (t, n) {
                        for (var i; (i = dt.inArray(n, l, i)) > -1;)l.splice(i, 1), e && (o >= i && o--, r >= i && r--)
                    }), this
                }, has: function (t) {
                    return t ? dt.inArray(t, l) > -1 : !(!l || !l.length)
                }, empty: function () {
                    return l = [], this
                }, disable: function () {
                    return l = u = n = a, this
                }, disabled: function () {
                    return !l
                }, lock: function () {
                    return u = a, n || p.disable(), this
                }, locked: function () {
                    return !u
                }, fireWith: function (t, n) {
                    return n = n || [], n = [t, n.slice ? n.slice() : n], !l || i && !u || (e ? u.push(n) : f(n)), this
                }, fire: function () {
                    return p.fireWith(this, arguments), this
                }, fired: function () {
                    return !!i
                }
            };
            return p
        }, dt.extend({
            Deferred: function (t) {
                var e = [["resolve", "done", dt.Callbacks("once memory"), "resolved"], ["reject", "fail", dt.Callbacks("once memory"), "rejected"], ["notify", "progress", dt.Callbacks("memory")]], n = "pending", i = {
                    state: function () {
                        return n
                    }, always: function () {
                        return o.done(arguments).fail(arguments), this
                    }, then: function () {
                        var t = arguments;
                        return dt.Deferred(function (n) {
                            dt.each(e, function (e, r) {
                                var a = r[0], s = dt.isFunction(t[e]) && t[e];
                                o[r[1]](function () {
                                    var t = s && s.apply(this, arguments);
                                    t && dt.isFunction(t.promise) ? t.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[a + "With"](this === i ? n.promise() : this, s ? [t] : arguments)
                                })
                            }), t = null
                        }).promise()
                    }, promise: function (t) {
                        return null != t ? dt.extend(t, i) : i
                    }
                }, o = {};
                return i.pipe = i.then, dt.each(e, function (t, r) {
                    var a = r[2], s = r[3];
                    i[r[1]] = a.add, s && a.add(function () {
                        n = s
                    }, e[1 ^ t][2].disable, e[2][2].lock), o[r[0]] = function () {
                        return o[r[0] + "With"](this === o ? i : this, arguments), this
                    }, o[r[0] + "With"] = a.fireWith
                }), i.promise(o), t && t.call(o, o), o
            }, when: function (t) {
                var e, n, i, o = 0, r = ct.call(arguments), a = r.length, s = 1 !== a || t && dt.isFunction(t.promise) ? a : 0, c = 1 === s ? t : dt.Deferred(), l = function (t, n, i) {
                    return function (o) {
                        n[t] = this, i[t] = arguments.length > 1 ? ct.call(arguments) : o, i === e ? c.notifyWith(n, i) : --s || c.resolveWith(n, i)
                    }
                };
                if (a > 1)for (e = Array(a), n = Array(a), i = Array(a); a > o; o++)r[o] && dt.isFunction(r[o].promise) ? r[o].promise().done(l(o, i, r)).fail(c.reject).progress(l(o, n, e)) : --s;
                return s || c.resolveWith(i, r), c.promise()
            }
        }), dt.support = function () {
            var t, e, n, i, o, a, s, c, l, u, f = Z.createElement("div");
            if (f.setAttribute("className", "t"), f.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", e = f.getElementsByTagName("*"), n = f.getElementsByTagName("a")[0], !e || !n || !e.length)return {};
            o = Z.createElement("select"), s = o.appendChild(Z.createElement("option")), i = f.getElementsByTagName("input")[0], n.style.cssText = "top:1px;float:left;opacity:.5", t = {
                getSetAttribute: "t" !== f.className,
                leadingWhitespace: 3 === f.firstChild.nodeType,
                tbody: !f.getElementsByTagName("tbody").length,
                htmlSerialize: !!f.getElementsByTagName("link").length,
                style: /top/.test(n.getAttribute("style")),
                hrefNormalized: "/a" === n.getAttribute("href"),
                opacity: /^0.5/.test(n.style.opacity),
                cssFloat: !!n.style.cssFloat,
                checkOn: !!i.value,
                optSelected: s.selected,
                enctype: !!Z.createElement("form").enctype,
                html5Clone: "<:nav></:nav>" !== Z.createElement("nav").cloneNode(!0).outerHTML,
                boxModel: "CSS1Compat" === Z.compatMode,
                deleteExpando: !0,
                noCloneEvent: !0,
                inlineBlockNeedsLayout: !1,
                shrinkWrapBlocks: !1,
                reliableMarginRight: !0,
                boxSizingReliable: !0,
                pixelPosition: !1
            }, i.checked = !0, t.noCloneChecked = i.cloneNode(!0).checked, o.disabled = !0, t.optDisabled = !s.disabled;
            try {
                delete f.test
            } catch (p) {
                t.deleteExpando = !1
            }
            i = Z.createElement("input"), i.setAttribute("value", ""), t.input = "" === i.getAttribute("value"), i.value = "t", i.setAttribute("type", "radio"), t.radioValue = "t" === i.value, i.setAttribute("checked", "t"), i.setAttribute("name", "t"), a = Z.createDocumentFragment(), a.appendChild(i), t.appendChecked = i.checked, t.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, f.attachEvent && (f.attachEvent("onclick", function () {
                t.noCloneEvent = !1
            }), f.cloneNode(!0).click());
            for (u in{
                submit: !0,
                change: !0,
                focusin: !0
            })f.setAttribute(c = "on" + u, "t"), t[u + "Bubbles"] = c in r || f.attributes[c].expando === !1;
            return f.style.backgroundClip = "content-box", f.cloneNode(!0).style.backgroundClip = "", t.clearCloneStyle = "content-box" === f.style.backgroundClip, dt(function () {
                var e, n, i, o = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", a = Z.getElementsByTagName("body")[0];
                a && (e = Z.createElement("div"), e.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", a.appendChild(e).appendChild(f), f.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", i = f.getElementsByTagName("td"), i[0].style.cssText = "padding:0;margin:0;border:0;display:none", l = 0 === i[0].offsetHeight, i[0].style.display = "", i[1].style.display = "none", t.reliableHiddenOffsets = l && 0 === i[0].offsetHeight, f.innerHTML = "", f.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", t.boxSizing = 4 === f.offsetWidth, t.doesNotIncludeMarginInBodyOffset = 1 !== a.offsetTop, r.getComputedStyle && (t.pixelPosition = "1%" !== (r.getComputedStyle(f, null) || {}).top, t.boxSizingReliable = "4px" === (r.getComputedStyle(f, null) || {width: "4px"}).width, n = f.appendChild(Z.createElement("div")), n.style.cssText = f.style.cssText = o, n.style.marginRight = n.style.width = "0", f.style.width = "1px", t.reliableMarginRight = !parseFloat((r.getComputedStyle(n, null) || {}).marginRight)), typeof f.style.zoom !== K && (f.innerHTML = "", f.style.cssText = o + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = 3 === f.offsetWidth, f.style.display = "block", f.innerHTML = "<div></div>", f.firstChild.style.width = "5px", t.shrinkWrapBlocks = 3 !== f.offsetWidth, t.inlineBlockNeedsLayout && (a.style.zoom = 1)), a.removeChild(e), e = f = i = n = null)
            }), e = o = a = s = n = i = null, t
        }();
        var $t = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, Et = /([A-Z])/g;
        dt.extend({
            cache: {},
            expando: "jQuery" + (rt + Math.random()).replace(/\D/g, ""),
            noData: {embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0},
            hasData: function (t) {
                return t = t.nodeType ? dt.cache[t[dt.expando]] : t[dt.expando], !!t && !p(t)
            },
            data: function (t, e, n) {
                return l(t, e, n)
            },
            removeData: function (t, e) {
                return u(t, e)
            },
            _data: function (t, e, n) {
                return l(t, e, n, !0)
            },
            _removeData: function (t, e) {
                return u(t, e, !0)
            },
            acceptData: function (t) {
                if (t.nodeType && 1 !== t.nodeType && 9 !== t.nodeType)return !1;
                var e = t.nodeName && dt.noData[t.nodeName.toLowerCase()];
                return !e || e !== !0 && t.getAttribute("classid") === e
            }
        }), dt.fn.extend({
            data: function (t, e) {
                var n, i, o = this[0], r = 0, s = null;
                if (t === a) {
                    if (this.length && (s = dt.data(o), 1 === o.nodeType && !dt._data(o, "parsedAttrs"))) {
                        for (n = o.attributes; n.length > r; r++)i = n[r].name, i.indexOf("data-") || (i = dt.camelCase(i.slice(5)), f(o, i, s[i]));
                        dt._data(o, "parsedAttrs", !0)
                    }
                    return s
                }
                return "object" == typeof t ? this.each(function () {
                        dt.data(this, t)
                    }) : dt.access(this, function (e) {
                        return e === a ? o ? f(o, t, dt.data(o, t)) : null : (this.each(function () {
                                dt.data(this, t, e)
                            }), a)
                    }, null, e, arguments.length > 1, null, !0)
            }, removeData: function (t) {
                return this.each(function () {
                    dt.removeData(this, t)
                })
            }
        }), dt.extend({
            queue: function (t, e, n) {
                var i;
                return t ? (e = (e || "fx") + "queue", i = dt._data(t, e), n && (!i || dt.isArray(n) ? i = dt._data(t, e, dt.makeArray(n)) : i.push(n)), i || []) : a
            }, dequeue: function (t, e) {
                e = e || "fx";
                var n = dt.queue(t, e), i = n.length, o = n.shift(), r = dt._queueHooks(t, e), a = function () {
                    dt.dequeue(t, e)
                };
                "inprogress" === o && (o = n.shift(), i--), r.cur = o, o && ("fx" === e && n.unshift("inprogress"), delete r.stop, o.call(t, a, r)), !i && r && r.empty.fire()
            }, _queueHooks: function (t, e) {
                var n = e + "queueHooks";
                return dt._data(t, n) || dt._data(t, n, {
                        empty: dt.Callbacks("once memory").add(function () {
                            dt._removeData(t, e + "queue"), dt._removeData(t, n)
                        })
                    })
            }
        }), dt.fn.extend({
            queue: function (t, e) {
                var n = 2;
                return "string" != typeof t && (e = t, t = "fx", n--), n > arguments.length ? dt.queue(this[0], t) : e === a ? this : this.each(function () {
                            var n = dt.queue(this, t, e);
                            dt._queueHooks(this, t), "fx" === t && "inprogress" !== n[0] && dt.dequeue(this, t)
                        })
            }, dequeue: function (t) {
                return this.each(function () {
                    dt.dequeue(this, t)
                })
            }, delay: function (t, e) {
                return t = dt.fx ? dt.fx.speeds[t] || t : t, e = e || "fx", this.queue(e, function (e, n) {
                    var i = setTimeout(e, t);
                    n.stop = function () {
                        clearTimeout(i)
                    }
                })
            }, clearQueue: function (t) {
                return this.queue(t || "fx", [])
            }, promise: function (t, e) {
                var n, i = 1, o = dt.Deferred(), r = this, s = this.length, c = function () {
                    --i || o.resolveWith(r, [r])
                };
                for ("string" != typeof t && (e = t, t = a), t = t || "fx"; s--;)n = dt._data(r[s], t + "queueHooks"), n && n.empty && (i++, n.empty.add(c));
                return c(), o.promise(e)
            }
        });
        var Lt, Nt, It = /[\t\r\n]/g, At = /\r/g, Ot = /^(?:input|select|textarea|button|object)$/i, Bt = /^(?:a|area)$/i, Rt = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, Dt = /^(?:checked|selected)$/i, Pt = dt.support.getSetAttribute, Mt = dt.support.input;
        dt.fn.extend({
            attr: function (t, e) {
                return dt.access(this, dt.attr, t, e, arguments.length > 1)
            }, removeAttr: function (t) {
                return this.each(function () {
                    dt.removeAttr(this, t)
                })
            }, prop: function (t, e) {
                return dt.access(this, dt.prop, t, e, arguments.length > 1)
            }, removeProp: function (t) {
                return t = dt.propFix[t] || t, this.each(function () {
                    try {
                        this[t] = a, delete this[t]
                    } catch (e) {
                    }
                })
            }, addClass: function (t) {
                var e, n, i, o, r, a = 0, s = this.length, c = "string" == typeof t && t;
                if (dt.isFunction(t))return this.each(function (e) {
                    dt(this).addClass(t.call(this, e, this.className))
                });
                if (c)for (e = (t || "").match(gt) || []; s > a; a++)if (n = this[a], i = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(It, " ") : " ")) {
                    for (r = 0; o = e[r++];)0 > i.indexOf(" " + o + " ") && (i += o + " ");
                    n.className = dt.trim(i)
                }
                return this
            }, removeClass: function (t) {
                var e, n, i, o, r, a = 0, s = this.length, c = 0 === arguments.length || "string" == typeof t && t;
                if (dt.isFunction(t))return this.each(function (e) {
                    dt(this).removeClass(t.call(this, e, this.className))
                });
                if (c)for (e = (t || "").match(gt) || []; s > a; a++)if (n = this[a], i = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(It, " ") : "")) {
                    for (r = 0; o = e[r++];)for (; i.indexOf(" " + o + " ") >= 0;)i = i.replace(" " + o + " ", " ");
                    n.className = t ? dt.trim(i) : ""
                }
                return this
            }, toggleClass: function (t, e) {
                var n = typeof t, i = "boolean" == typeof e;
                return dt.isFunction(t) ? this.each(function (n) {
                        dt(this).toggleClass(t.call(this, n, this.className, e), e)
                    }) : this.each(function () {
                        if ("string" === n)for (var o, r = 0, a = dt(this), s = e, c = t.match(gt) || []; o = c[r++];)s = i ? s : !a.hasClass(o), a[s ? "addClass" : "removeClass"](o); else(n === K || "boolean" === n) && (this.className && dt._data(this, "__className__", this.className), this.className = this.className || t === !1 ? "" : dt._data(this, "__className__") || "")
                    })
            }, hasClass: function (t) {
                for (var e = " " + t + " ", n = 0, i = this.length; i > n; n++)if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(It, " ").indexOf(e) >= 0)return !0;
                return !1
            }, val: function (t) {
                var e, n, i, o = this[0];
                return arguments.length ? (i = dt.isFunction(t), this.each(function (e) {
                        var o, r = dt(this);
                        1 === this.nodeType && (o = i ? t.call(this, e, r.val()) : t, null == o ? o = "" : "number" == typeof o ? o += "" : dt.isArray(o) && (o = dt.map(o, function (t) {
                                    return null == t ? "" : t + ""
                                })), n = dt.valHooks[this.type] || dt.valHooks[this.nodeName.toLowerCase()], n && "set" in n && n.set(this, o, "value") !== a || (this.value = o))
                    })) : o ? (n = dt.valHooks[o.type] || dt.valHooks[o.nodeName.toLowerCase()], n && "get" in n && (e = n.get(o, "value")) !== a ? e : (e = o.value, "string" == typeof e ? e.replace(At, "") : null == e ? "" : e)) : void 0
            }
        }), dt.extend({
            valHooks: {
                option: {
                    get: function (t) {
                        var e = t.attributes.value;
                        return !e || e.specified ? t.value : t.text
                    }
                }, select: {
                    get: function (t) {
                        for (var e, n, i = t.options, o = t.selectedIndex, r = "select-one" === t.type || 0 > o, a = r ? null : [], s = r ? o + 1 : i.length, c = 0 > o ? s : r ? o : 0; s > c; c++)if (n = i[c], !(!n.selected && c !== o || (dt.support.optDisabled ? n.disabled : null !== n.getAttribute("disabled")) || n.parentNode.disabled && dt.nodeName(n.parentNode, "optgroup"))) {
                            if (e = dt(n).val(), r)return e;
                            a.push(e)
                        }
                        return a
                    }, set: function (t, e) {
                        var n = dt.makeArray(e);
                        return dt(t).find("option").each(function () {
                            this.selected = dt.inArray(dt(this).val(), n) >= 0
                        }), n.length || (t.selectedIndex = -1), n
                    }
                }
            },
            attr: function (t, e, n) {
                var i, o, r, s = t.nodeType;
                if (t && 3 !== s && 8 !== s && 2 !== s)return typeof t.getAttribute === K ? dt.prop(t, e, n) : (o = 1 !== s || !dt.isXMLDoc(t), o && (e = e.toLowerCase(), i = dt.attrHooks[e] || (Rt.test(e) ? Nt : Lt)), n === a ? i && o && "get" in i && null !== (r = i.get(t, e)) ? r : (typeof t.getAttribute !== K && (r = t.getAttribute(e)), null == r ? a : r) : null !== n ? i && o && "set" in i && (r = i.set(t, n, e)) !== a ? r : (t.setAttribute(e, n + ""), n) : (dt.removeAttr(t, e), a))
            },
            removeAttr: function (t, e) {
                var n, i, o = 0, r = e && e.match(gt);
                if (r && 1 === t.nodeType)for (; n = r[o++];)i = dt.propFix[n] || n, Rt.test(n) ? !Pt && Dt.test(n) ? t[dt.camelCase("default-" + n)] = t[i] = !1 : t[i] = !1 : dt.attr(t, n, ""), t.removeAttribute(Pt ? n : i)
            },
            attrHooks: {
                type: {
                    set: function (t, e) {
                        if (!dt.support.radioValue && "radio" === e && dt.nodeName(t, "input")) {
                            var n = t.value;
                            return t.setAttribute("type", e), n && (t.value = n), e
                        }
                    }
                }
            },
            propFix: {
                tabindex: "tabIndex",
                readonly: "readOnly",
                "for": "htmlFor",
                "class": "className",
                maxlength: "maxLength",
                cellspacing: "cellSpacing",
                cellpadding: "cellPadding",
                rowspan: "rowSpan",
                colspan: "colSpan",
                usemap: "useMap",
                frameborder: "frameBorder",
                contenteditable: "contentEditable"
            },
            prop: function (t, e, n) {
                var i, o, r, s = t.nodeType;
                if (t && 3 !== s && 8 !== s && 2 !== s)return r = 1 !== s || !dt.isXMLDoc(t), r && (e = dt.propFix[e] || e, o = dt.propHooks[e]), n !== a ? o && "set" in o && (i = o.set(t, n, e)) !== a ? i : t[e] = n : o && "get" in o && null !== (i = o.get(t, e)) ? i : t[e]
            },
            propHooks: {
                tabIndex: {
                    get: function (t) {
                        var e = t.getAttributeNode("tabindex");
                        return e && e.specified ? parseInt(e.value, 10) : Ot.test(t.nodeName) || Bt.test(t.nodeName) && t.href ? 0 : a
                    }
                }
            }
        }), Nt = {
            get: function (t, e) {
                var n = dt.prop(t, e), i = "boolean" == typeof n && t.getAttribute(e), o = "boolean" == typeof n ? Mt && Pt ? null != i : Dt.test(e) ? t[dt.camelCase("default-" + e)] : !!i : t.getAttributeNode(e);
                return o && o.value !== !1 ? e.toLowerCase() : a
            }, set: function (t, e, n) {
                return e === !1 ? dt.removeAttr(t, n) : Mt && Pt || !Dt.test(n) ? t.setAttribute(!Pt && dt.propFix[n] || n, n) : t[dt.camelCase("default-" + n)] = t[n] = !0, n
            }
        }, Mt && Pt || (dt.attrHooks.value = {
            get: function (t, e) {
                var n = t.getAttributeNode(e);
                return dt.nodeName(t, "input") ? t.defaultValue : n && n.specified ? n.value : a
            }, set: function (t, e, n) {
                return dt.nodeName(t, "input") ? (t.defaultValue = e, a) : Lt && Lt.set(t, e, n)
            }
        }), Pt || (Lt = dt.valHooks.button = {
            get: function (t, e) {
                var n = t.getAttributeNode(e);
                return n && ("id" === e || "name" === e || "coords" === e ? "" !== n.value : n.specified) ? n.value : a
            }, set: function (t, e, n) {
                var i = t.getAttributeNode(n);
                return i || t.setAttributeNode(i = t.ownerDocument.createAttribute(n)), i.value = e += "", "value" === n || e === t.getAttribute(n) ? e : a
            }
        }, dt.attrHooks.contenteditable = {
            get: Lt.get, set: function (t, e, n) {
                Lt.set(t, "" !== e && e, n)
            }
        }, dt.each(["width", "height"], function (t, e) {
            dt.attrHooks[e] = dt.extend(dt.attrHooks[e], {
                set: function (t, n) {
                    return "" === n ? (t.setAttribute(e, "auto"), n) : a
                }
            })
        })), dt.support.hrefNormalized || (dt.each(["href", "src", "width", "height"], function (t, e) {
            dt.attrHooks[e] = dt.extend(dt.attrHooks[e], {
                get: function (t) {
                    var n = t.getAttribute(e, 2);
                    return null == n ? a : n
                }
            })
        }), dt.each(["href", "src"], function (t, e) {
            dt.propHooks[e] = {
                get: function (t) {
                    return t.getAttribute(e, 4)
                }
            }
        })), dt.support.style || (dt.attrHooks.style = {
            get: function (t) {
                return t.style.cssText || a
            }, set: function (t, e) {
                return t.style.cssText = e + ""
            }
        }), dt.support.optSelected || (dt.propHooks.selected = dt.extend(dt.propHooks.selected, {
            get: function (t) {
                var e = t.parentNode;
                return e && (e.selectedIndex, e.parentNode && e.parentNode.selectedIndex), null
            }
        })), dt.support.enctype || (dt.propFix.enctype = "encoding"), dt.support.checkOn || dt.each(["radio", "checkbox"], function () {
            dt.valHooks[this] = {
                get: function (t) {
                    return null === t.getAttribute("value") ? "on" : t.value
                }
            }
        }), dt.each(["radio", "checkbox"], function () {
            dt.valHooks[this] = dt.extend(dt.valHooks[this], {
                set: function (t, e) {
                    return dt.isArray(e) ? t.checked = dt.inArray(dt(t).val(), e) >= 0 : a
                }
            })
        });
        var Ht = /^(?:input|select|textarea)$/i, Ft = /^key/, Ut = /^(?:mouse|contextmenu)|click/, zt = /^(?:focusinfocus|focusoutblur)$/, Wt = /^([^.]*)(?:\.(.+)|)$/;
        dt.event = {
            global: {},
            add: function (t, e, n, i, o) {
                var r, s, c, l, u, f, p, d, h, g, v, m = dt._data(t);
                if (m) {
                    for (n.handler && (l = n, n = l.handler, o = l.selector), n.guid || (n.guid = dt.guid++), (s = m.events) || (s = m.events = {}), (f = m.handle) || (f = m.handle = function (t) {
                        return typeof dt === K || t && dt.event.triggered === t.type ? a : dt.event.dispatch.apply(f.elem, arguments)
                    }, f.elem = t), e = (e || "").match(gt) || [""], c = e.length; c--;)r = Wt.exec(e[c]) || [], h = v = r[1], g = (r[2] || "").split(".").sort(), u = dt.event.special[h] || {}, h = (o ? u.delegateType : u.bindType) || h, u = dt.event.special[h] || {}, p = dt.extend({
                        type: h,
                        origType: v,
                        data: i,
                        handler: n,
                        guid: n.guid,
                        selector: o,
                        needsContext: o && dt.expr.match.needsContext.test(o),
                        namespace: g.join(".")
                    }, l), (d = s[h]) || (d = s[h] = [], d.delegateCount = 0, u.setup && u.setup.call(t, i, g, f) !== !1 || (t.addEventListener ? t.addEventListener(h, f, !1) : t.attachEvent && t.attachEvent("on" + h, f))), u.add && (u.add.call(t, p), p.handler.guid || (p.handler.guid = n.guid)), o ? d.splice(d.delegateCount++, 0, p) : d.push(p), dt.event.global[h] = !0;
                    t = null
                }
            },
            remove: function (t, e, n, i, o) {
                var r, a, s, c, l, u, f, p, d, h, g, v = dt.hasData(t) && dt._data(t);
                if (v && (u = v.events)) {
                    for (e = (e || "").match(gt) || [""], l = e.length; l--;)if (s = Wt.exec(e[l]) || [], d = g = s[1], h = (s[2] || "").split(".").sort(), d) {
                        for (f = dt.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, p = u[d] || [], s = s[2] && RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), c = r = p.length; r--;)a = p[r], !o && g !== a.origType || n && n.guid !== a.guid || s && !s.test(a.namespace) || i && i !== a.selector && ("**" !== i || !a.selector) || (p.splice(r, 1), a.selector && p.delegateCount--, f.remove && f.remove.call(t, a));
                        c && !p.length && (f.teardown && f.teardown.call(t, h, v.handle) !== !1 || dt.removeEvent(t, d, v.handle), delete u[d])
                    } else for (d in u)dt.event.remove(t, d + e[l], n, i, !0);
                    dt.isEmptyObject(u) && (delete v.handle, dt._removeData(t, "events"))
                }
            },
            trigger: function (t, e, n, i) {
                var o, s, c, l, u, f, p, d = [n || Z], h = ft.call(t, "type") ? t.type : t, g = ft.call(t, "namespace") ? t.namespace.split(".") : [];
                if (c = f = n = n || Z, 3 !== n.nodeType && 8 !== n.nodeType && !zt.test(h + dt.event.triggered) && (h.indexOf(".") >= 0 && (g = h.split("."), h = g.shift(), g.sort()), s = 0 > h.indexOf(":") && "on" + h, t = t[dt.expando] ? t : new dt.Event(h, "object" == typeof t && t), t.isTrigger = !0, t.namespace = g.join("."), t.namespace_re = t.namespace ? RegExp("(^|\\.)" + g.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = a, t.target || (t.target = n), e = null == e ? [t] : dt.makeArray(e, [t]), u = dt.event.special[h] || {}, i || !u.trigger || u.trigger.apply(n, e) !== !1)) {
                    if (!i && !u.noBubble && !dt.isWindow(n)) {
                        for (l = u.delegateType || h, zt.test(l + h) || (c = c.parentNode); c; c = c.parentNode)d.push(c), f = c;
                        f === (n.ownerDocument || Z) && d.push(f.defaultView || f.parentWindow || r)
                    }
                    for (p = 0; (c = d[p++]) && !t.isPropagationStopped();)t.type = p > 1 ? l : u.bindType || h, o = (dt._data(c, "events") || {})[t.type] && dt._data(c, "handle"), o && o.apply(c, e), o = s && c[s], o && dt.acceptData(c) && o.apply && o.apply(c, e) === !1 && t.preventDefault();
                    if (t.type = h, !(i || t.isDefaultPrevented() || u._default && u._default.apply(n.ownerDocument, e) !== !1 || "click" === h && dt.nodeName(n, "a") || !dt.acceptData(n) || !s || !n[h] || dt.isWindow(n))) {
                        f = n[s], f && (n[s] = null), dt.event.triggered = h;
                        try {
                            n[h]()
                        } catch (v) {
                        }
                        dt.event.triggered = a, f && (n[s] = f)
                    }
                    return t.result
                }
            },
            dispatch: function (t) {
                t = dt.event.fix(t);
                var e, n, i, o, r, s = [], c = ct.call(arguments), l = (dt._data(this, "events") || {})[t.type] || [], u = dt.event.special[t.type] || {};
                if (c[0] = t, t.delegateTarget = this, !u.preDispatch || u.preDispatch.call(this, t) !== !1) {
                    for (s = dt.event.handlers.call(this, t, l), e = 0; (o = s[e++]) && !t.isPropagationStopped();)for (t.currentTarget = o.elem, r = 0; (i = o.handlers[r++]) && !t.isImmediatePropagationStopped();)(!t.namespace_re || t.namespace_re.test(i.namespace)) && (t.handleObj = i, t.data = i.data, n = ((dt.event.special[i.origType] || {}).handle || i.handler).apply(o.elem, c), n !== a && (t.result = n) === !1 && (t.preventDefault(), t.stopPropagation()));
                    return u.postDispatch && u.postDispatch.call(this, t), t.result
                }
            },
            handlers: function (t, e) {
                var n, i, o, r, s = [], c = e.delegateCount, l = t.target;
                if (c && l.nodeType && (!t.button || "click" !== t.type))for (; l != this; l = l.parentNode || this)if (1 === l.nodeType && (l.disabled !== !0 || "click" !== t.type)) {
                    for (o = [], r = 0; c > r; r++)i = e[r], n = i.selector + " ", o[n] === a && (o[n] = i.needsContext ? dt(n, this).index(l) >= 0 : dt.find(n, this, null, [l]).length), o[n] && o.push(i);
                    o.length && s.push({elem: l, handlers: o})
                }
                return e.length > c && s.push({elem: this, handlers: e.slice(c)}), s
            },
            fix: function (t) {
                if (t[dt.expando])return t;
                var e, n, i, o = t.type, r = t, a = this.fixHooks[o];
                for (a || (this.fixHooks[o] = a = Ut.test(o) ? this.mouseHooks : Ft.test(o) ? this.keyHooks : {}), i = a.props ? this.props.concat(a.props) : this.props, t = new dt.Event(r), e = i.length; e--;)n = i[e], t[n] = r[n];
                return t.target || (t.target = r.srcElement || Z), 3 === t.target.nodeType && (t.target = t.target.parentNode), t.metaKey = !!t.metaKey, a.filter ? a.filter(t, r) : t
            },
            props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
            fixHooks: {},
            keyHooks: {
                props: "char charCode key keyCode".split(" "), filter: function (t, e) {
                    return null == t.which && (t.which = null != e.charCode ? e.charCode : e.keyCode), t
                }
            },
            mouseHooks: {
                props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
                filter: function (t, e) {
                    var n, i, o, r = e.button, s = e.fromElement;
                    return null == t.pageX && null != e.clientX && (i = t.target.ownerDocument || Z, o = i.documentElement, n = i.body, t.pageX = e.clientX + (o && o.scrollLeft || n && n.scrollLeft || 0) - (o && o.clientLeft || n && n.clientLeft || 0), t.pageY = e.clientY + (o && o.scrollTop || n && n.scrollTop || 0) - (o && o.clientTop || n && n.clientTop || 0)), !t.relatedTarget && s && (t.relatedTarget = s === t.target ? e.toElement : s), t.which || r === a || (t.which = 1 & r ? 1 : 2 & r ? 3 : 4 & r ? 2 : 0), t
                }
            },
            special: {
                load: {noBubble: !0}, click: {
                    trigger: function () {
                        return dt.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : a
                    }
                }, focus: {
                    trigger: function () {
                        if (this !== Z.activeElement && this.focus)try {
                            return this.focus(), !1
                        } catch (t) {
                        }
                    }, delegateType: "focusin"
                }, blur: {
                    trigger: function () {
                        return this === Z.activeElement && this.blur ? (this.blur(), !1) : a
                    }, delegateType: "focusout"
                }, beforeunload: {
                    postDispatch: function (t) {
                        t.result !== a && (t.originalEvent.returnValue = t.result)
                    }
                }
            },
            simulate: function (t, e, n, i) {
                var o = dt.extend(new dt.Event, n, {type: t, isSimulated: !0, originalEvent: {}});
                i ? dt.event.trigger(o, null, e) : dt.event.dispatch.call(e, o), o.isDefaultPrevented() && n.preventDefault()
            }
        }, dt.removeEvent = Z.removeEventListener ? function (t, e, n) {
                t.removeEventListener && t.removeEventListener(e, n, !1)
            } : function (t, e, n) {
                var i = "on" + e;
                t.detachEvent && (typeof t[i] === K && (t[i] = null), t.detachEvent(i, n))
            }, dt.Event = function (t, e) {
            return this instanceof dt.Event ? (t && t.type ? (this.originalEvent = t, this.type = t.type, this.isDefaultPrevented = t.defaultPrevented || t.returnValue === !1 || t.getPreventDefault && t.getPreventDefault() ? d : h) : this.type = t, e && dt.extend(this, e), this.timeStamp = t && t.timeStamp || dt.now(), this[dt.expando] = !0, a) : new dt.Event(t, e)
        }, dt.Event.prototype = {
            isDefaultPrevented: h,
            isPropagationStopped: h,
            isImmediatePropagationStopped: h,
            preventDefault: function () {
                var t = this.originalEvent;
                this.isDefaultPrevented = d, t && (t.preventDefault ? t.preventDefault() : t.returnValue = !1)
            },
            stopPropagation: function () {
                var t = this.originalEvent;
                this.isPropagationStopped = d, t && (t.stopPropagation && t.stopPropagation(), t.cancelBubble = !0)
            },
            stopImmediatePropagation: function () {
                this.isImmediatePropagationStopped = d, this.stopPropagation()
            }
        }, dt.each({mouseenter: "mouseover", mouseleave: "mouseout"}, function (t, e) {
            dt.event.special[t] = {
                delegateType: e, bindType: e, handle: function (t) {
                    var n, i = this, o = t.relatedTarget, r = t.handleObj;
                    return (!o || o !== i && !dt.contains(i, o)) && (t.type = r.origType, n = r.handler.apply(this, arguments), t.type = e), n
                }
            }
        }), dt.support.submitBubbles || (dt.event.special.submit = {
            setup: function () {
                return !dt.nodeName(this, "form") && (dt.event.add(this, "click._submit keypress._submit", function (t) {
                        var e = t.target, n = dt.nodeName(e, "input") || dt.nodeName(e, "button") ? e.form : a;
                        n && !dt._data(n, "submitBubbles") && (dt.event.add(n, "submit._submit", function (t) {
                            t._submit_bubble = !0
                        }), dt._data(n, "submitBubbles", !0))
                    }), a)
            }, postDispatch: function (t) {
                t._submit_bubble && (delete t._submit_bubble, this.parentNode && !t.isTrigger && dt.event.simulate("submit", this.parentNode, t, !0))
            }, teardown: function () {
                return !dt.nodeName(this, "form") && (dt.event.remove(this, "._submit"), a)
            }
        }), dt.support.changeBubbles || (dt.event.special.change = {
            setup: function () {
                return Ht.test(this.nodeName) ? (("checkbox" === this.type || "radio" === this.type) && (dt.event.add(this, "propertychange._change", function (t) {
                        "checked" === t.originalEvent.propertyName && (this._just_changed = !0)
                    }), dt.event.add(this, "click._change", function (t) {
                        this._just_changed && !t.isTrigger && (this._just_changed = !1), dt.event.simulate("change", this, t, !0)
                    })), !1) : (dt.event.add(this, "beforeactivate._change", function (t) {
                        var e = t.target;
                        Ht.test(e.nodeName) && !dt._data(e, "changeBubbles") && (dt.event.add(e, "change._change", function (t) {
                            !this.parentNode || t.isSimulated || t.isTrigger || dt.event.simulate("change", this.parentNode, t, !0)
                        }), dt._data(e, "changeBubbles", !0))
                    }), a)
            }, handle: function (t) {
                var e = t.target;
                return this !== e || t.isSimulated || t.isTrigger || "radio" !== e.type && "checkbox" !== e.type ? t.handleObj.handler.apply(this, arguments) : a
            }, teardown: function () {
                return dt.event.remove(this, "._change"), !Ht.test(this.nodeName)
            }
        }), dt.support.focusinBubbles || dt.each({focus: "focusin", blur: "focusout"}, function (t, e) {
            var n = 0, i = function (t) {
                dt.event.simulate(e, t.target, dt.event.fix(t), !0)
            };
            dt.event.special[e] = {
                setup: function () {
                    0 === n++ && Z.addEventListener(t, i, !0)
                }, teardown: function () {
                    0 === --n && Z.removeEventListener(t, i, !0)
                }
            }
        }), dt.fn.extend({
            on: function (t, e, n, i, o) {
                var r, s;
                if ("object" == typeof t) {
                    "string" != typeof e && (n = n || e, e = a);
                    for (r in t)this.on(r, e, n, t[r], o);
                    return this
                }
                if (null == n && null == i ? (i = e, n = e = a) : null == i && ("string" == typeof e ? (i = n, n = a) : (i = n, n = e, e = a)), i === !1) i = h; else if (!i)return this;
                return 1 === o && (s = i, i = function (t) {
                    return dt().off(t), s.apply(this, arguments)
                }, i.guid = s.guid || (s.guid = dt.guid++)), this.each(function () {
                    dt.event.add(this, t, i, n, e)
                })
            }, one: function (t, e, n, i) {
                return this.on(t, e, n, i, 1)
            }, off: function (t, e, n) {
                var i, o;
                if (t && t.preventDefault && t.handleObj)return i = t.handleObj, dt(t.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
                if ("object" == typeof t) {
                    for (o in t)this.off(o, e, t[o]);
                    return this
                }
                return (e === !1 || "function" == typeof e) && (n = e, e = a), n === !1 && (n = h), this.each(function () {
                    dt.event.remove(this, t, n, e)
                })
            }, bind: function (t, e, n) {
                return this.on(t, null, e, n)
            }, unbind: function (t, e) {
                return this.off(t, null, e)
            }, delegate: function (t, e, n, i) {
                return this.on(e, t, n, i)
            }, undelegate: function (t, e, n) {
                return 1 === arguments.length ? this.off(t, "**") : this.off(e, t || "**", n)
            }, trigger: function (t, e) {
                return this.each(function () {
                    dt.event.trigger(t, e, this)
                })
            }, triggerHandler: function (t, e) {
                var n = this[0];
                return n ? dt.event.trigger(t, e, n, !0) : a
            }
        }), function (t, e) {
            function n(t) {
                return ht.test(t + "")
            }

            function i() {
                var t, e = [];
                return t = function (n, i) {
                    return e.push(n += " ") > C.cacheLength && delete t[e.shift()], t[n] = i
                }
            }

            function o(t) {
                return t[P] = !0, t
            }

            function r(t) {
                var e = L.createElement("div");
                try {
                    return t(e)
                } catch (n) {
                    return !1
                } finally {
                    e = null
                }
            }

            function a(t, e, n, i) {
                var o, r, a, s, c, l, u, d, h, g;
                if ((e ? e.ownerDocument || e : M) !== L && E(e), e = e || L, n = n || [], !t || "string" != typeof t)return n;
                if (1 !== (s = e.nodeType) && 9 !== s)return [];
                if (!I && !i) {
                    if (o = gt.exec(t))if (a = o[1]) {
                        if (9 === s) {
                            if (r = e.getElementById(a), !r || !r.parentNode)return n;
                            if (r.id === a)return n.push(r), n
                        } else if (e.ownerDocument && (r = e.ownerDocument.getElementById(a)) && R(e, r) && r.id === a)return n.push(r), n
                    } else {
                        if (o[2])return Y.apply(n, K.call(e.getElementsByTagName(t), 0)), n;
                        if ((a = o[3]) && H.getByClassName && e.getElementsByClassName)return Y.apply(n, K.call(e.getElementsByClassName(a), 0)), n
                    }
                    if (H.qsa && !A.test(t)) {
                        if (u = !0, d = P, h = e, g = 9 === s && t, 1 === s && "object" !== e.nodeName.toLowerCase()) {
                            for (l = f(t), (u = e.getAttribute("id")) ? d = u.replace(_t, "\\$&") : e.setAttribute("id", d), d = "[id='" + d + "'] ", c = l.length; c--;)l[c] = d + p(l[c]);
                            h = pt.test(t) && e.parentNode || e, g = l.join(",")
                        }
                        if (g)try {
                            return Y.apply(n, K.call(h.querySelectorAll(g), 0)), n
                        } catch (v) {
                        } finally {
                            u || e.removeAttribute("id")
                        }
                    }
                }
                return b(t.replace(at, "$1"), e, n, i)
            }

            function s(t, e) {
                var n = e && t, i = n && (~e.sourceIndex || X) - (~t.sourceIndex || X);
                if (i)return i;
                if (n)for (; n = n.nextSibling;)if (n === e)return -1;
                return t ? 1 : -1
            }

            function c(t) {
                return function (e) {
                    var n = e.nodeName.toLowerCase();
                    return "input" === n && e.type === t
                }
            }

            function l(t) {
                return function (e) {
                    var n = e.nodeName.toLowerCase();
                    return ("input" === n || "button" === n) && e.type === t
                }
            }

            function u(t) {
                return o(function (e) {
                    return e = +e, o(function (n, i) {
                        for (var o, r = t([], n.length, e), a = r.length; a--;)n[o = r[a]] && (n[o] = !(i[o] = n[o]))
                    })
                })
            }

            function f(t, e) {
                var n, i, o, r, s, c, l, u = W[t + " "];
                if (u)return e ? 0 : u.slice(0);
                for (s = t, c = [], l = C.preFilter; s;) {
                    (!n || (i = st.exec(s))) && (i && (s = s.slice(i[0].length) || s), c.push(o = [])), n = !1, (i = ct.exec(s)) && (n = i.shift(), o.push({
                        value: n,
                        type: i[0].replace(at, " ")
                    }), s = s.slice(n.length));
                    for (r in C.filter)!(i = ft[r].exec(s)) || l[r] && !(i = l[r](i)) || (n = i.shift(), o.push({
                        value: n,
                        type: r,
                        matches: i
                    }), s = s.slice(n.length));
                    if (!n)break
                }
                return e ? s.length : s ? a.error(t) : W(t, c).slice(0)
            }

            function p(t) {
                for (var e = 0, n = t.length, i = ""; n > e; e++)i += t[e].value;
                return i
            }

            function d(t, e, n) {
                var i = e.dir, o = n && "parentNode" === i, r = U++;
                return e.first ? function (e, n, r) {
                        for (; e = e[i];)if (1 === e.nodeType || o)return t(e, n, r)
                    } : function (e, n, a) {
                        var s, c, l, u = F + " " + r;
                        if (a) {
                            for (; e = e[i];)if ((1 === e.nodeType || o) && t(e, n, a))return !0
                        } else for (; e = e[i];)if (1 === e.nodeType || o)if (l = e[P] || (e[P] = {}), (c = l[i]) && c[0] === u) {
                            if ((s = c[1]) === !0 || s === w)return s === !0
                        } else if (c = l[i] = [u], c[1] = t(e, n, a) || w, c[1] === !0)return !0
                    }
            }

            function h(t) {
                return t.length > 1 ? function (e, n, i) {
                        for (var o = t.length; o--;)if (!t[o](e, n, i))return !1;
                        return !0
                    } : t[0]
            }

            function g(t, e, n, i, o) {
                for (var r, a = [], s = 0, c = t.length, l = null != e; c > s; s++)(r = t[s]) && (!n || n(r, i, o)) && (a.push(r), l && e.push(s));
                return a
            }

            function v(t, e, n, i, r, a) {
                return i && !i[P] && (i = v(i)), r && !r[P] && (r = v(r, a)), o(function (o, a, s, c) {
                    var l, u, f, p = [], d = [], h = a.length, v = o || y(e || "*", s.nodeType ? [s] : s, []), m = !t || !o && e ? v : g(v, p, t, s, c), _ = n ? r || (o ? t : h || i) ? [] : a : m;
                    if (n && n(m, _, s, c), i)for (l = g(_, d), i(l, [], s, c), u = l.length; u--;)(f = l[u]) && (_[d[u]] = !(m[d[u]] = f));
                    if (o) {
                        if (r || t) {
                            if (r) {
                                for (l = [], u = _.length; u--;)(f = _[u]) && l.push(m[u] = f);
                                r(null, _ = [], l, c)
                            }
                            for (u = _.length; u--;)(f = _[u]) && (l = r ? Z.call(o, f) : p[u]) > -1 && (o[l] = !(a[l] = f))
                        }
                    } else _ = g(_ === a ? _.splice(h, _.length) : _), r ? r(null, a, _, c) : Y.apply(a, _)
                })
            }

            function m(t) {
                for (var e, n, i, o = t.length, r = C.relative[t[0].type], a = r || C.relative[" "], s = r ? 1 : 0, c = d(function (t) {
                    return t === e
                }, a, !0), l = d(function (t) {
                    return Z.call(e, t) > -1
                }, a, !0), u = [function (t, n, i) {
                    return !r && (i || n !== $) || ((e = n).nodeType ? c(t, n, i) : l(t, n, i))
                }]; o > s; s++)if (n = C.relative[t[s].type]) u = [d(h(u), n)]; else {
                    if (n = C.filter[t[s].type].apply(null, t[s].matches), n[P]) {
                        for (i = ++s; o > i && !C.relative[t[i].type]; i++);
                        return v(s > 1 && h(u), s > 1 && p(t.slice(0, s - 1)).replace(at, "$1"), n, i > s && m(t.slice(s, i)), o > i && m(t = t.slice(i)), o > i && p(t))
                    }
                    u.push(n)
                }
                return h(u)
            }

            function _(t, e) {
                var n = 0, i = e.length > 0, r = t.length > 0, s = function (o, s, c, l, u) {
                    var f, p, d, h = [], v = 0, m = "0", _ = o && [], y = null != u, b = $, x = o || r && C.find.TAG("*", u && s.parentNode || s), k = F += null == b ? 1 : Math.random() || .1;
                    for (y && ($ = s !== L && s, w = n); null != (f = x[m]); m++) {
                        if (r && f) {
                            for (p = 0; d = t[p++];)if (d(f, s, c)) {
                                l.push(f);
                                break
                            }
                            y && (F = k, w = ++n)
                        }
                        i && ((f = !d && f) && v--, o && _.push(f))
                    }
                    if (v += m, i && m !== v) {
                        for (p = 0; d = e[p++];)d(_, h, s, c);
                        if (o) {
                            if (v > 0)for (; m--;)_[m] || h[m] || (h[m] = J.call(l));
                            h = g(h)
                        }
                        Y.apply(l, h), y && !o && h.length > 0 && v + e.length > 1 && a.uniqueSort(l)
                    }
                    return y && (F = k, $ = b), _
                };
                return i ? o(s) : s
            }

            function y(t, e, n) {
                for (var i = 0, o = e.length; o > i; i++)a(t, e[i], n);
                return n
            }

            function b(t, e, n, i) {
                var o, r, a, s, c, l = f(t);
                if (!i && 1 === l.length) {
                    if (r = l[0] = l[0].slice(0), r.length > 2 && "ID" === (a = r[0]).type && 9 === e.nodeType && !I && C.relative[r[1].type]) {
                        if (e = C.find.ID(a.matches[0].replace(bt, xt), e)[0], !e)return n;
                        t = t.slice(r.shift().value.length)
                    }
                    for (o = ft.needsContext.test(t) ? 0 : r.length; o-- && (a = r[o], !C.relative[s = a.type]);)if ((c = C.find[s]) && (i = c(a.matches[0].replace(bt, xt), pt.test(r[0].type) && e.parentNode || e))) {
                        if (r.splice(o, 1), t = i.length && p(r), !t)return Y.apply(n, K.call(i, 0)), n;
                        break
                    }
                }
                return j(t, l)(i, e, I, n, pt.test(t)), n
            }

            function x() {
            }

            var k, w, C, T, q, j, S, $, E, L, N, I, A, O, B, R, D, P = "sizzle" + -new Date, M = t.document, H = {}, F = 0, U = 0, z = i(), W = i(), V = i(), Q = typeof e, X = 1 << 31, G = [], J = G.pop, Y = G.push, K = G.slice, Z = G.indexOf || function (t) {
                    for (var e = 0, n = this.length; n > e; e++)if (this[e] === t)return e;
                    return -1
                }, tt = "[\\x20\\t\\r\\n\\f]", et = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", nt = et.replace("w", "w#"), it = "([*^$|!~]?=)", ot = "\\[" + tt + "*(" + et + ")" + tt + "*(?:" + it + tt + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + nt + ")|)|)" + tt + "*\\]", rt = ":(" + et + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + ot.replace(3, 8) + ")*)|.*)\\)|)", at = RegExp("^" + tt + "+|((?:^|[^\\\\])(?:\\\\.)*)" + tt + "+$", "g"), st = RegExp("^" + tt + "*," + tt + "*"), ct = RegExp("^" + tt + "*([\\x20\\t\\r\\n\\f>+~])" + tt + "*"), lt = RegExp(rt), ut = RegExp("^" + nt + "$"), ft = {
                ID: RegExp("^#(" + et + ")"),
                CLASS: RegExp("^\\.(" + et + ")"),
                NAME: RegExp("^\\[name=['\"]?(" + et + ")['\"]?\\]"),
                TAG: RegExp("^(" + et.replace("w", "w*") + ")"),
                ATTR: RegExp("^" + ot),
                PSEUDO: RegExp("^" + rt),
                CHILD: RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + tt + "*(even|odd|(([+-]|)(\\d*)n|)" + tt + "*(?:([+-]|)" + tt + "*(\\d+)|))" + tt + "*\\)|)", "i"),
                needsContext: RegExp("^" + tt + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + tt + "*((?:-\\d)?\\d*)" + tt + "*\\)|)(?=[^-]|$)", "i")
            }, pt = /[\x20\t\r\n\f]*[+~]/, ht = /^[^{]+\{\s*\[native code/, gt = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, vt = /^(?:input|select|textarea|button)$/i, mt = /^h\d$/i, _t = /'|\\/g, yt = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, bt = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, xt = function (t, e) {
                var n = "0x" + e - 65536;
                return n !== n ? e : 0 > n ? String.fromCharCode(n + 65536) : String.fromCharCode(55296 | n >> 10, 56320 | 1023 & n)
            };
            try {
                K.call(M.documentElement.childNodes, 0)[0].nodeType
            } catch (kt) {
                K = function (t) {
                    for (var e, n = []; e = this[t++];)n.push(e);
                    return n
                }
            }
            q = a.isXML = function (t) {
                var e = t && (t.ownerDocument || t).documentElement;
                return !!e && "HTML" !== e.nodeName
            }, E = a.setDocument = function (t) {
                var i = t ? t.ownerDocument || t : M;
                return i !== L && 9 === i.nodeType && i.documentElement ? (L = i, N = i.documentElement, I = q(i), H.tagNameNoComments = r(function (t) {
                        return t.appendChild(i.createComment("")), !t.getElementsByTagName("*").length
                    }), H.attributes = r(function (t) {
                        t.innerHTML = "<select></select>";
                        var e = typeof t.lastChild.getAttribute("multiple");
                        return "boolean" !== e && "string" !== e
                    }), H.getByClassName = r(function (t) {
                        return t.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>", !(!t.getElementsByClassName || !t.getElementsByClassName("e").length) && (t.lastChild.className = "e", 2 === t.getElementsByClassName("e").length)
                    }), H.getByName = r(function (t) {
                        t.id = P + 0, t.innerHTML = "<a name='" + P + "'></a><div name='" + P + "'></div>", N.insertBefore(t, N.firstChild);
                        var e = i.getElementsByName && i.getElementsByName(P).length === 2 + i.getElementsByName(P + 0).length;
                        return H.getIdNotName = !i.getElementById(P), N.removeChild(t), e
                    }), C.attrHandle = r(function (t) {
                        return t.innerHTML = "<a href='#'></a>", t.firstChild && typeof t.firstChild.getAttribute !== Q && "#" === t.firstChild.getAttribute("href")
                    }) ? {} : {
                            href: function (t) {
                                return t.getAttribute("href", 2)
                            }, type: function (t) {
                                return t.getAttribute("type")
                            }
                        }, H.getIdNotName ? (C.find.ID = function (t, e) {
                            if (typeof e.getElementById !== Q && !I) {
                                var n = e.getElementById(t);
                                return n && n.parentNode ? [n] : []
                            }
                        }, C.filter.ID = function (t) {
                            var e = t.replace(bt, xt);
                            return function (t) {
                                return t.getAttribute("id") === e
                            }
                        }) : (C.find.ID = function (t, n) {
                            if (typeof n.getElementById !== Q && !I) {
                                var i = n.getElementById(t);
                                return i ? i.id === t || typeof i.getAttributeNode !== Q && i.getAttributeNode("id").value === t ? [i] : e : []
                            }
                        }, C.filter.ID = function (t) {
                            var e = t.replace(bt, xt);
                            return function (t) {
                                var n = typeof t.getAttributeNode !== Q && t.getAttributeNode("id");
                                return n && n.value === e
                            }
                        }), C.find.TAG = H.tagNameNoComments ? function (t, n) {
                            return typeof n.getElementsByTagName !== Q ? n.getElementsByTagName(t) : e
                        } : function (t, e) {
                            var n, i = [], o = 0, r = e.getElementsByTagName(t);
                            if ("*" === t) {
                                for (; n = r[o++];)1 === n.nodeType && i.push(n);
                                return i
                            }
                            return r
                        }, C.find.NAME = H.getByName && function (t, n) {
                            return typeof n.getElementsByName !== Q ? n.getElementsByName(name) : e
                        }, C.find.CLASS = H.getByClassName && function (t, n) {
                            return typeof n.getElementsByClassName === Q || I ? e : n.getElementsByClassName(t)
                        }, O = [], A = [":focus"], (H.qsa = n(i.querySelectorAll)) && (r(function (t) {
                        t.innerHTML = "<select><option selected=''></option></select>", t.querySelectorAll("[selected]").length || A.push("\\[" + tt + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), t.querySelectorAll(":checked").length || A.push(":checked")
                    }), r(function (t) {
                        t.innerHTML = "<input type='hidden' i=''/>", t.querySelectorAll("[i^='']").length && A.push("[*^$]=" + tt + "*(?:\"\"|'')"), t.querySelectorAll(":enabled").length || A.push(":enabled", ":disabled"), t.querySelectorAll("*,:x"), A.push(",.*:")
                    })), (H.matchesSelector = n(B = N.matchesSelector || N.mozMatchesSelector || N.webkitMatchesSelector || N.oMatchesSelector || N.msMatchesSelector)) && r(function (t) {
                        H.disconnectedMatch = B.call(t, "div"), B.call(t, "[s!='']:x"), O.push("!=", rt)
                    }), A = RegExp(A.join("|")), O = RegExp(O.join("|")), R = n(N.contains) || N.compareDocumentPosition ? function (t, e) {
                            var n = 9 === t.nodeType ? t.documentElement : t, i = e && e.parentNode;
                            return t === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : t.compareDocumentPosition && 16 & t.compareDocumentPosition(i)))
                        } : function (t, e) {
                            if (e)for (; e = e.parentNode;)if (e === t)return !0;
                            return !1
                        }, D = N.compareDocumentPosition ? function (t, e) {
                            var n;
                            return t === e ? (S = !0, 0) : (n = e.compareDocumentPosition && t.compareDocumentPosition && t.compareDocumentPosition(e)) ? 1 & n || t.parentNode && 11 === t.parentNode.nodeType ? t === i || R(M, t) ? -1 : e === i || R(M, e) ? 1 : 0 : 4 & n ? -1 : 1 : t.compareDocumentPosition ? -1 : 1
                        } : function (t, e) {
                            var n, o = 0, r = t.parentNode, a = e.parentNode, c = [t], l = [e];
                            if (t === e)return S = !0, 0;
                            if (!r || !a)return t === i ? -1 : e === i ? 1 : r ? -1 : a ? 1 : 0;
                            if (r === a)return s(t, e);
                            for (n = t; n = n.parentNode;)c.unshift(n);
                            for (n = e; n = n.parentNode;)l.unshift(n);
                            for (; c[o] === l[o];)o++;
                            return o ? s(c[o], l[o]) : c[o] === M ? -1 : l[o] === M ? 1 : 0
                        }, S = !1, [0, 0].sort(D), H.detectDuplicates = S, L) : L
            }, a.matches = function (t, e) {
                return a(t, null, null, e)
            }, a.matchesSelector = function (t, e) {
                if ((t.ownerDocument || t) !== L && E(t), e = e.replace(yt, "='$1']"), !(!H.matchesSelector || I || O && O.test(e) || A.test(e)))try {
                    var n = B.call(t, e);
                    if (n || H.disconnectedMatch || t.document && 11 !== t.document.nodeType)return n
                } catch (i) {
                }
                return a(e, L, null, [t]).length > 0
            }, a.contains = function (t, e) {
                return (t.ownerDocument || t) !== L && E(t), R(t, e)
            }, a.attr = function (t, e) {
                var n;
                return (t.ownerDocument || t) !== L && E(t), I || (e = e.toLowerCase()), (n = C.attrHandle[e]) ? n(t) : I || H.attributes ? t.getAttribute(e) : ((n = t.getAttributeNode(e)) || t.getAttribute(e)) && t[e] === !0 ? e : n && n.specified ? n.value : null
            }, a.error = function (t) {
                throw Error("Syntax error, unrecognized expression: " + t)
            }, a.uniqueSort = function (t) {
                var e, n = [], i = 1, o = 0;
                if (S = !H.detectDuplicates, t.sort(D), S) {
                    for (; e = t[i]; i++)e === t[i - 1] && (o = n.push(i));
                    for (; o--;)t.splice(n[o], 1)
                }
                return t
            }, T = a.getText = function (t) {
                var e, n = "", i = 0, o = t.nodeType;
                if (o) {
                    if (1 === o || 9 === o || 11 === o) {
                        if ("string" == typeof t.textContent)return t.textContent;
                        for (t = t.firstChild; t; t = t.nextSibling)n += T(t)
                    } else if (3 === o || 4 === o)return t.nodeValue
                } else for (; e = t[i]; i++)n += T(e);
                return n
            }, C = a.selectors = {
                cacheLength: 50,
                createPseudo: o,
                match: ft,
                find: {},
                relative: {
                    ">": {dir: "parentNode", first: !0},
                    " ": {dir: "parentNode"},
                    "+": {dir: "previousSibling", first: !0},
                    "~": {dir: "previousSibling"}
                },
                preFilter: {
                    ATTR: function (t) {
                        return t[1] = t[1].replace(bt, xt), t[3] = (t[4] || t[5] || "").replace(bt, xt), "~=" === t[2] && (t[3] = " " + t[3] + " "), t.slice(0, 4)
                    }, CHILD: function (t) {
                        return t[1] = t[1].toLowerCase(), "nth" === t[1].slice(0, 3) ? (t[3] || a.error(t[0]), t[4] = +(t[4] ? t[5] + (t[6] || 1) : 2 * ("even" === t[3] || "odd" === t[3])), t[5] = +(t[7] + t[8] || "odd" === t[3])) : t[3] && a.error(t[0]), t
                    }, PSEUDO: function (t) {
                        var e, n = !t[5] && t[2];
                        return ft.CHILD.test(t[0]) ? null : (t[4] ? t[2] = t[4] : n && lt.test(n) && (e = f(n, !0)) && (e = n.indexOf(")", n.length - e) - n.length) && (t[0] = t[0].slice(0, e), t[2] = n.slice(0, e)), t.slice(0, 3))
                    }
                },
                filter: {
                    TAG: function (t) {
                        return "*" === t ? function () {
                                return !0
                            } : (t = t.replace(bt, xt).toLowerCase(), function (e) {
                                return e.nodeName && e.nodeName.toLowerCase() === t
                            })
                    }, CLASS: function (t) {
                        var e = z[t + " "];
                        return e || (e = RegExp("(^|" + tt + ")" + t + "(" + tt + "|$)")) && z(t, function (t) {
                                return e.test(t.className || typeof t.getAttribute !== Q && t.getAttribute("class") || "")
                            })
                    }, ATTR: function (t, e, n) {
                        return function (i) {
                            var o = a.attr(i, t);
                            return null == o ? "!=" === e : !e || (o += "", "=" === e ? o === n : "!=" === e ? o !== n : "^=" === e ? n && 0 === o.indexOf(n) : "*=" === e ? n && o.indexOf(n) > -1 : "$=" === e ? n && o.slice(-n.length) === n : "~=" === e ? (" " + o + " ").indexOf(n) > -1 : "|=" === e && (o === n || o.slice(0, n.length + 1) === n + "-"))
                        }
                    }, CHILD: function (t, e, n, i, o) {
                        var r = "nth" !== t.slice(0, 3), a = "last" !== t.slice(-4), s = "of-type" === e;
                        return 1 === i && 0 === o ? function (t) {
                                return !!t.parentNode
                            } : function (e, n, c) {
                                var l, u, f, p, d, h, g = r !== a ? "nextSibling" : "previousSibling", v = e.parentNode, m = s && e.nodeName.toLowerCase(), _ = !c && !s;
                                if (v) {
                                    if (r) {
                                        for (; g;) {
                                            for (f = e; f = f[g];)if (s ? f.nodeName.toLowerCase() === m : 1 === f.nodeType)return !1;
                                            h = g = "only" === t && !h && "nextSibling"
                                        }
                                        return !0
                                    }
                                    if (h = [a ? v.firstChild : v.lastChild], a && _) {
                                        for (u = v[P] || (v[P] = {}), l = u[t] || [], d = l[0] === F && l[1], p = l[0] === F && l[2], f = d && v.childNodes[d]; f = ++d && f && f[g] || (p = d = 0) || h.pop();)if (1 === f.nodeType && ++p && f === e) {
                                            u[t] = [F, d, p];
                                            break
                                        }
                                    } else if (_ && (l = (e[P] || (e[P] = {}))[t]) && l[0] === F) p = l[1]; else for (; (f = ++d && f && f[g] || (p = d = 0) || h.pop()) && ((s ? f.nodeName.toLowerCase() !== m : 1 !== f.nodeType) || !++p || (_ && ((f[P] || (f[P] = {}))[t] = [F, p]), f !== e)););
                                    return p -= o, p === i || 0 === p % i && p / i >= 0
                                }
                            }
                    }, PSEUDO: function (t, e) {
                        var n, i = C.pseudos[t] || C.setFilters[t.toLowerCase()] || a.error("unsupported pseudo: " + t);
                        return i[P] ? i(e) : i.length > 1 ? (n = [t, t, "", e], C.setFilters.hasOwnProperty(t.toLowerCase()) ? o(function (t, n) {
                                        for (var o, r = i(t, e), a = r.length; a--;)o = Z.call(t, r[a]), t[o] = !(n[o] = r[a])
                                    }) : function (t) {
                                        return i(t, 0, n)
                                    }) : i
                    }
                },
                pseudos: {
                    not: o(function (t) {
                        var e = [], n = [], i = j(t.replace(at, "$1"));
                        return i[P] ? o(function (t, e, n, o) {
                                for (var r, a = i(t, null, o, []), s = t.length; s--;)(r = a[s]) && (t[s] = !(e[s] = r))
                            }) : function (t, o, r) {
                                return e[0] = t, i(e, null, r, n), !n.pop()
                            }
                    }), has: o(function (t) {
                        return function (e) {
                            return a(t, e).length > 0
                        }
                    }), contains: o(function (t) {
                        return function (e) {
                            return (e.textContent || e.innerText || T(e)).indexOf(t) > -1
                        }
                    }), lang: o(function (t) {
                        return ut.test(t || "") || a.error("unsupported lang: " + t), t = t.replace(bt, xt).toLowerCase(), function (e) {
                            var n;
                            do if (n = I ? e.getAttribute("xml:lang") || e.getAttribute("lang") : e.lang)return n = n.toLowerCase(), n === t || 0 === n.indexOf(t + "-"); while ((e = e.parentNode) && 1 === e.nodeType);
                            return !1
                        }
                    }), target: function (e) {
                        var n = t.location && t.location.hash;
                        return n && n.slice(1) === e.id
                    }, root: function (t) {
                        return t === N
                    }, focus: function (t) {
                        return t === L.activeElement && (!L.hasFocus || L.hasFocus()) && !!(t.type || t.href || ~t.tabIndex)
                    }, enabled: function (t) {
                        return t.disabled === !1
                    }, disabled: function (t) {
                        return t.disabled === !0
                    }, checked: function (t) {
                        var e = t.nodeName.toLowerCase();
                        return "input" === e && !!t.checked || "option" === e && !!t.selected
                    }, selected: function (t) {
                        return t.parentNode && t.parentNode.selectedIndex, t.selected === !0
                    }, empty: function (t) {
                        for (t = t.firstChild; t; t = t.nextSibling)if (t.nodeName > "@" || 3 === t.nodeType || 4 === t.nodeType)return !1;
                        return !0
                    }, parent: function (t) {
                        return !C.pseudos.empty(t)
                    }, header: function (t) {
                        return mt.test(t.nodeName)
                    }, input: function (t) {
                        return vt.test(t.nodeName)
                    }, button: function (t) {
                        var e = t.nodeName.toLowerCase();
                        return "input" === e && "button" === t.type || "button" === e
                    }, text: function (t) {
                        var e;
                        return "input" === t.nodeName.toLowerCase() && "text" === t.type && (null == (e = t.getAttribute("type")) || e.toLowerCase() === t.type)
                    }, first: u(function () {
                        return [0]
                    }), last: u(function (t, e) {
                        return [e - 1]
                    }), eq: u(function (t, e, n) {
                        return [0 > n ? n + e : n]
                    }), even: u(function (t, e) {
                        for (var n = 0; e > n; n += 2)t.push(n);
                        return t
                    }), odd: u(function (t, e) {
                        for (var n = 1; e > n; n += 2)t.push(n);
                        return t
                    }), lt: u(function (t, e, n) {
                        for (var i = 0 > n ? n + e : n; --i >= 0;)t.push(i);
                        return t
                    }), gt: u(function (t, e, n) {
                        for (var i = 0 > n ? n + e : n; e > ++i;)t.push(i);
                        return t
                    })
                }
            };
            for (k in{radio: !0, checkbox: !0, file: !0, password: !0, image: !0})C.pseudos[k] = c(k);
            for (k in{submit: !0, reset: !0})C.pseudos[k] = l(k);
            j = a.compile = function (t, e) {
                var n, i = [], o = [], r = V[t + " "];
                if (!r) {
                    for (e || (e = f(t)), n = e.length; n--;)r = m(e[n]), r[P] ? i.push(r) : o.push(r);
                    r = V(t, _(o, i))
                }
                return r
            }, C.pseudos.nth = C.pseudos.eq, C.filters = x.prototype = C.pseudos, C.setFilters = new x, E(), a.attr = dt.attr, dt.find = a, dt.expr = a.selectors, dt.expr[":"] = dt.expr.pseudos, dt.unique = a.uniqueSort, dt.text = a.getText, dt.isXMLDoc = a.isXML, dt.contains = a.contains
        }(r);
        var Vt = /Until$/, Qt = /^(?:parents|prev(?:Until|All))/, Xt = /^.[^:#\[\.,]*$/, Gt = dt.expr.match.needsContext, Jt = {
            children: !0,
            contents: !0,
            next: !0,
            prev: !0
        };
        dt.fn.extend({
            find: function (t) {
                var e, n, i, o = this.length;
                if ("string" != typeof t)return i = this, this.pushStack(dt(t).filter(function () {
                    for (e = 0; o > e; e++)if (dt.contains(i[e], this))return !0;
                }));
                for (n = [], e = 0; o > e; e++)dt.find(t, this[e], n);
                return n = this.pushStack(o > 1 ? dt.unique(n) : n), n.selector = (this.selector ? this.selector + " " : "") + t, n
            }, has: function (t) {
                var e, n = dt(t, this), i = n.length;
                return this.filter(function () {
                    for (e = 0; i > e; e++)if (dt.contains(this, n[e]))return !0
                })
            }, not: function (t) {
                return this.pushStack(v(this, t, !1))
            }, filter: function (t) {
                return this.pushStack(v(this, t, !0))
            }, is: function (t) {
                return !!t && ("string" == typeof t ? Gt.test(t) ? dt(t, this.context).index(this[0]) >= 0 : dt.filter(t, this).length > 0 : this.filter(t).length > 0)
            }, closest: function (t, e) {
                for (var n, i = 0, o = this.length, r = [], a = Gt.test(t) || "string" != typeof t ? dt(t, e || this.context) : 0; o > i; i++)for (n = this[i]; n && n.ownerDocument && n !== e && 11 !== n.nodeType;) {
                    if (a ? a.index(n) > -1 : dt.find.matchesSelector(n, t)) {
                        r.push(n);
                        break
                    }
                    n = n.parentNode
                }
                return this.pushStack(r.length > 1 ? dt.unique(r) : r)
            }, index: function (t) {
                return t ? "string" == typeof t ? dt.inArray(this[0], dt(t)) : dt.inArray(t.jquery ? t[0] : t, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
            }, add: function (t, e) {
                var n = "string" == typeof t ? dt(t, e) : dt.makeArray(t && t.nodeType ? [t] : t), i = dt.merge(this.get(), n);
                return this.pushStack(dt.unique(i))
            }, addBack: function (t) {
                return this.add(null == t ? this.prevObject : this.prevObject.filter(t))
            }
        }), dt.fn.andSelf = dt.fn.addBack, dt.each({
            parent: function (t) {
                var e = t.parentNode;
                return e && 11 !== e.nodeType ? e : null
            }, parents: function (t) {
                return dt.dir(t, "parentNode")
            }, parentsUntil: function (t, e, n) {
                return dt.dir(t, "parentNode", n)
            }, next: function (t) {
                return g(t, "nextSibling")
            }, prev: function (t) {
                return g(t, "previousSibling")
            }, nextAll: function (t) {
                return dt.dir(t, "nextSibling")
            }, prevAll: function (t) {
                return dt.dir(t, "previousSibling")
            }, nextUntil: function (t, e, n) {
                return dt.dir(t, "nextSibling", n)
            }, prevUntil: function (t, e, n) {
                return dt.dir(t, "previousSibling", n)
            }, siblings: function (t) {
                return dt.sibling((t.parentNode || {}).firstChild, t)
            }, children: function (t) {
                return dt.sibling(t.firstChild)
            }, contents: function (t) {
                return dt.nodeName(t, "iframe") ? t.contentDocument || t.contentWindow.document : dt.merge([], t.childNodes)
            }
        }, function (t, e) {
            dt.fn[t] = function (n, i) {
                var o = dt.map(this, e, n);
                return Vt.test(t) || (i = n), i && "string" == typeof i && (o = dt.filter(i, o)), o = this.length > 1 && !Jt[t] ? dt.unique(o) : o, this.length > 1 && Qt.test(t) && (o = o.reverse()), this.pushStack(o)
            }
        }), dt.extend({
            filter: function (t, e, n) {
                return n && (t = ":not(" + t + ")"), 1 === e.length ? dt.find.matchesSelector(e[0], t) ? [e[0]] : [] : dt.find.matches(t, e)
            }, dir: function (t, e, n) {
                for (var i = [], o = t[e]; o && 9 !== o.nodeType && (n === a || 1 !== o.nodeType || !dt(o).is(n));)1 === o.nodeType && i.push(o), o = o[e];
                return i
            }, sibling: function (t, e) {
                for (var n = []; t; t = t.nextSibling)1 === t.nodeType && t !== e && n.push(t);
                return n
            }
        });
        var Yt = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", Kt = / jQuery\d+="(?:null|\d+)"/g, Zt = RegExp("<(?:" + Yt + ")[\\s/>]", "i"), te = /^\s+/, ee = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, ne = /<([\w:]+)/, ie = /<tbody/i, oe = /<|&#?\w+;/, re = /<(?:script|style|link)/i, ae = /^(?:checkbox|radio)$/i, se = /checked\s*(?:[^=]|=\s*.checked.)/i, ce = /^$|\/(?:java|ecma)script/i, le = /^true\/(.*)/, ue = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, fe = {
            option: [1, "<select multiple='multiple'>", "</select>"],
            legend: [1, "<fieldset>", "</fieldset>"],
            area: [1, "<map>", "</map>"],
            param: [1, "<object>", "</object>"],
            thead: [1, "<table>", "</table>"],
            tr: [2, "<table><tbody>", "</tbody></table>"],
            col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
            _default: dt.support.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
        }, pe = m(Z), de = pe.appendChild(Z.createElement("div"));
        fe.optgroup = fe.option, fe.tbody = fe.tfoot = fe.colgroup = fe.caption = fe.thead, fe.th = fe.td, dt.fn.extend({
            text: function (t) {
                return dt.access(this, function (t) {
                    return t === a ? dt.text(this) : this.empty().append((this[0] && this[0].ownerDocument || Z).createTextNode(t))
                }, null, t, arguments.length)
            }, wrapAll: function (t) {
                if (dt.isFunction(t))return this.each(function (e) {
                    dt(this).wrapAll(t.call(this, e))
                });
                if (this[0]) {
                    var e = dt(t, this[0].ownerDocument).eq(0).clone(!0);
                    this[0].parentNode && e.insertBefore(this[0]), e.map(function () {
                        for (var t = this; t.firstChild && 1 === t.firstChild.nodeType;)t = t.firstChild;
                        return t
                    }).append(this)
                }
                return this
            }, wrapInner: function (t) {
                return dt.isFunction(t) ? this.each(function (e) {
                        dt(this).wrapInner(t.call(this, e))
                    }) : this.each(function () {
                        var e = dt(this), n = e.contents();
                        n.length ? n.wrapAll(t) : e.append(t)
                    })
            }, wrap: function (t) {
                var e = dt.isFunction(t);
                return this.each(function (n) {
                    dt(this).wrapAll(e ? t.call(this, n) : t)
                })
            }, unwrap: function () {
                return this.parent().each(function () {
                    dt.nodeName(this, "body") || dt(this).replaceWith(this.childNodes)
                }).end()
            }, append: function () {
                return this.domManip(arguments, !0, function (t) {
                    (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && this.appendChild(t)
                })
            }, prepend: function () {
                return this.domManip(arguments, !0, function (t) {
                    (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && this.insertBefore(t, this.firstChild)
                })
            }, before: function () {
                return this.domManip(arguments, !1, function (t) {
                    this.parentNode && this.parentNode.insertBefore(t, this)
                })
            }, after: function () {
                return this.domManip(arguments, !1, function (t) {
                    this.parentNode && this.parentNode.insertBefore(t, this.nextSibling)
                })
            }, remove: function (t, e) {
                for (var n, i = 0; null != (n = this[i]); i++)(!t || dt.filter(t, [n]).length > 0) && (e || 1 !== n.nodeType || dt.cleanData(C(n)), n.parentNode && (e && dt.contains(n.ownerDocument, n) && x(C(n, "script")), n.parentNode.removeChild(n)));
                return this
            }, empty: function () {
                for (var t, e = 0; null != (t = this[e]); e++) {
                    for (1 === t.nodeType && dt.cleanData(C(t, !1)); t.firstChild;)t.removeChild(t.firstChild);
                    t.options && dt.nodeName(t, "select") && (t.options.length = 0)
                }
                return this
            }, clone: function (t, e) {
                return t = null != t && t, e = null == e ? t : e, this.map(function () {
                    return dt.clone(this, t, e)
                })
            }, html: function (t) {
                return dt.access(this, function (t) {
                    var e = this[0] || {}, n = 0, i = this.length;
                    if (t === a)return 1 === e.nodeType ? e.innerHTML.replace(Kt, "") : a;
                    if (!("string" != typeof t || re.test(t) || !dt.support.htmlSerialize && Zt.test(t) || !dt.support.leadingWhitespace && te.test(t) || fe[(ne.exec(t) || ["", ""])[1].toLowerCase()])) {
                        t = t.replace(ee, "<$1></$2>");
                        try {
                            for (; i > n; n++)e = this[n] || {}, 1 === e.nodeType && (dt.cleanData(C(e, !1)), e.innerHTML = t);
                            e = 0
                        } catch (o) {
                        }
                    }
                    e && this.empty().append(t)
                }, null, t, arguments.length)
            }, replaceWith: function (t) {
                var e = dt.isFunction(t);
                return e || "string" == typeof t || (t = dt(t).not(this).detach()), this.domManip([t], !0, function (t) {
                    var e = this.nextSibling, n = this.parentNode;
                    n && (dt(this).remove(), n.insertBefore(t, e))
                })
            }, detach: function (t) {
                return this.remove(t, !0)
            }, domManip: function (t, e, n) {
                t = at.apply([], t);
                var i, o, r, s, c, l, u = 0, f = this.length, p = this, d = f - 1, h = t[0], g = dt.isFunction(h);
                if (g || !(1 >= f || "string" != typeof h || dt.support.checkClone) && se.test(h))return this.each(function (i) {
                    var o = p.eq(i);
                    g && (t[0] = h.call(this, i, e ? o.html() : a)), o.domManip(t, e, n)
                });
                if (f && (l = dt.buildFragment(t, this[0].ownerDocument, !1, this), i = l.firstChild, 1 === l.childNodes.length && (l = i), i)) {
                    for (e = e && dt.nodeName(i, "tr"), s = dt.map(C(l, "script"), y), r = s.length; f > u; u++)o = l, u !== d && (o = dt.clone(o, !0, !0), r && dt.merge(s, C(o, "script"))), n.call(e && dt.nodeName(this[u], "table") ? _(this[u], "tbody") : this[u], o, u);
                    if (r)for (c = s[s.length - 1].ownerDocument, dt.map(s, b), u = 0; r > u; u++)o = s[u], ce.test(o.type || "") && !dt._data(o, "globalEval") && dt.contains(c, o) && (o.src ? dt.ajax({
                            url: o.src,
                            type: "GET",
                            dataType: "script",
                            async: !1,
                            global: !1,
                            "throws": !0
                        }) : dt.globalEval((o.text || o.textContent || o.innerHTML || "").replace(ue, "")));
                    l = i = null
                }
                return this
            }
        }), dt.each({
            appendTo: "append",
            prependTo: "prepend",
            insertBefore: "before",
            insertAfter: "after",
            replaceAll: "replaceWith"
        }, function (t, e) {
            dt.fn[t] = function (t) {
                for (var n, i = 0, o = [], r = dt(t), a = r.length - 1; a >= i; i++)n = i === a ? this : this.clone(!0), dt(r[i])[e](n), st.apply(o, n.get());
                return this.pushStack(o)
            }
        }), dt.extend({
            clone: function (t, e, n) {
                var i, o, r, a, s, c = dt.contains(t.ownerDocument, t);
                if (dt.support.html5Clone || dt.isXMLDoc(t) || !Zt.test("<" + t.nodeName + ">") ? r = t.cloneNode(!0) : (de.innerHTML = t.outerHTML, de.removeChild(r = de.firstChild)), !(dt.support.noCloneEvent && dt.support.noCloneChecked || 1 !== t.nodeType && 11 !== t.nodeType || dt.isXMLDoc(t)))for (i = C(r), s = C(t), a = 0; null != (o = s[a]); ++a)i[a] && w(o, i[a]);
                if (e)if (n)for (s = s || C(t), i = i || C(r), a = 0; null != (o = s[a]); a++)k(o, i[a]); else k(t, r);
                return i = C(r, "script"), i.length > 0 && x(i, !c && C(t, "script")), i = s = o = null, r
            }, buildFragment: function (t, e, n, i) {
                for (var o, r, a, s, c, l, u, f = t.length, p = m(e), d = [], h = 0; f > h; h++)if (r = t[h], r || 0 === r)if ("object" === dt.type(r)) dt.merge(d, r.nodeType ? [r] : r); else if (oe.test(r)) {
                    for (s = s || p.appendChild(e.createElement("div")), c = (ne.exec(r) || ["", ""])[1].toLowerCase(), u = fe[c] || fe._default, s.innerHTML = u[1] + r.replace(ee, "<$1></$2>") + u[2], o = u[0]; o--;)s = s.lastChild;
                    if (!dt.support.leadingWhitespace && te.test(r) && d.push(e.createTextNode(te.exec(r)[0])), !dt.support.tbody)for (r = "table" !== c || ie.test(r) ? "<table>" !== u[1] || ie.test(r) ? 0 : s : s.firstChild, o = r && r.childNodes.length; o--;)dt.nodeName(l = r.childNodes[o], "tbody") && !l.childNodes.length && r.removeChild(l);
                    for (dt.merge(d, s.childNodes), s.textContent = ""; s.firstChild;)s.removeChild(s.firstChild);
                    s = p.lastChild
                } else d.push(e.createTextNode(r));
                for (s && p.removeChild(s), dt.support.appendChecked || dt.grep(C(d, "input"), T), h = 0; r = d[h++];)if ((!i || -1 === dt.inArray(r, i)) && (a = dt.contains(r.ownerDocument, r), s = C(p.appendChild(r), "script"), a && x(s), n))for (o = 0; r = s[o++];)ce.test(r.type || "") && n.push(r);
                return s = null, p
            }, cleanData: function (t, e) {
                for (var n, i, o, r, a = 0, s = dt.expando, c = dt.cache, l = dt.support.deleteExpando, u = dt.event.special; null != (n = t[a]); a++)if ((e || dt.acceptData(n)) && (o = n[s], r = o && c[o])) {
                    if (r.events)for (i in r.events)u[i] ? dt.event.remove(n, i) : dt.removeEvent(n, i, r.handle);
                    c[o] && (delete c[o], l ? delete n[s] : typeof n.removeAttribute !== K ? n.removeAttribute(s) : n[s] = null, ot.push(o))
                }
            }
        });
        var he, ge, ve, me = /alpha\([^)]*\)/i, _e = /opacity\s*=\s*([^)]*)/, ye = /^(top|right|bottom|left)$/, be = /^(none|table(?!-c[ea]).+)/, xe = /^margin/, ke = RegExp("^(" + ht + ")(.*)$", "i"), we = RegExp("^(" + ht + ")(?!px)[a-z%]+$", "i"), Ce = RegExp("^([+-])=(" + ht + ")", "i"), Te = {BODY: "block"}, qe = {
            position: "absolute",
            visibility: "hidden",
            display: "block"
        }, je = {
            letterSpacing: 0,
            fontWeight: 400
        }, Se = ["Top", "Right", "Bottom", "Left"], $e = ["Webkit", "O", "Moz", "ms"];
        dt.fn.extend({
            css: function (t, e) {
                return dt.access(this, function (t, e, n) {
                    var i, o, r = {}, s = 0;
                    if (dt.isArray(e)) {
                        for (o = ge(t), i = e.length; i > s; s++)r[e[s]] = dt.css(t, e[s], !1, o);
                        return r
                    }
                    return n !== a ? dt.style(t, e, n) : dt.css(t, e)
                }, t, e, arguments.length > 1)
            }, show: function () {
                return S(this, !0)
            }, hide: function () {
                return S(this)
            }, toggle: function (t) {
                var e = "boolean" == typeof t;
                return this.each(function () {
                    (e ? t : j(this)) ? dt(this).show() : dt(this).hide()
                })
            }
        }), dt.extend({
            cssHooks: {
                opacity: {
                    get: function (t, e) {
                        if (e) {
                            var n = ve(t, "opacity");
                            return "" === n ? "1" : n
                        }
                    }
                }
            },
            cssNumber: {
                columnCount: !0,
                fillOpacity: !0,
                fontWeight: !0,
                lineHeight: !0,
                opacity: !0,
                orphans: !0,
                widows: !0,
                zIndex: !0,
                zoom: !0
            },
            cssProps: {"float": dt.support.cssFloat ? "cssFloat" : "styleFloat"},
            style: function (t, e, n, i) {
                if (t && 3 !== t.nodeType && 8 !== t.nodeType && t.style) {
                    var o, r, s, c = dt.camelCase(e), l = t.style;
                    if (e = dt.cssProps[c] || (dt.cssProps[c] = q(l, c)), s = dt.cssHooks[e] || dt.cssHooks[c], n === a)return s && "get" in s && (o = s.get(t, !1, i)) !== a ? o : l[e];
                    if (r = typeof n, "string" === r && (o = Ce.exec(n)) && (n = (o[1] + 1) * o[2] + parseFloat(dt.css(t, e)), r = "number"), !(null == n || "number" === r && isNaN(n) || ("number" !== r || dt.cssNumber[c] || (n += "px"), dt.support.clearCloneStyle || "" !== n || 0 !== e.indexOf("background") || (l[e] = "inherit"), s && "set" in s && (n = s.set(t, n, i)) === a)))try {
                        l[e] = n
                    } catch (u) {
                    }
                }
            },
            css: function (t, e, n, i) {
                var o, r, s, c = dt.camelCase(e);
                return e = dt.cssProps[c] || (dt.cssProps[c] = q(t.style, c)), s = dt.cssHooks[e] || dt.cssHooks[c], s && "get" in s && (r = s.get(t, !0, n)), r === a && (r = ve(t, e, i)), "normal" === r && e in je && (r = je[e]), "" === n || n ? (o = parseFloat(r), n === !0 || dt.isNumeric(o) ? o || 0 : r) : r
            },
            swap: function (t, e, n, i) {
                var o, r, a = {};
                for (r in e)a[r] = t.style[r], t.style[r] = e[r];
                o = n.apply(t, i || []);
                for (r in e)t.style[r] = a[r];
                return o
            }
        }), r.getComputedStyle ? (ge = function (t) {
                return r.getComputedStyle(t, null)
            }, ve = function (t, e, n) {
                var i, o, r, s = n || ge(t), c = s ? s.getPropertyValue(e) || s[e] : a, l = t.style;
                return s && ("" !== c || dt.contains(t.ownerDocument, t) || (c = dt.style(t, e)), we.test(c) && xe.test(e) && (i = l.width, o = l.minWidth, r = l.maxWidth, l.minWidth = l.maxWidth = l.width = c, c = s.width, l.width = i, l.minWidth = o, l.maxWidth = r)), c
            }) : Z.documentElement.currentStyle && (ge = function (t) {
                return t.currentStyle
            }, ve = function (t, e, n) {
                var i, o, r, s = n || ge(t), c = s ? s[e] : a, l = t.style;
                return null == c && l && l[e] && (c = l[e]), we.test(c) && !ye.test(e) && (i = l.left, o = t.runtimeStyle, r = o && o.left, r && (o.left = t.currentStyle.left), l.left = "fontSize" === e ? "1em" : c, c = l.pixelLeft + "px", l.left = i, r && (o.left = r)), "" === c ? "auto" : c
            }), dt.each(["height", "width"], function (t, e) {
            dt.cssHooks[e] = {
                get: function (t, n, i) {
                    return n ? 0 === t.offsetWidth && be.test(dt.css(t, "display")) ? dt.swap(t, qe, function () {
                                return L(t, e, i)
                            }) : L(t, e, i) : a
                }, set: function (t, n, i) {
                    var o = i && ge(t);
                    return $(t, n, i ? E(t, e, i, dt.support.boxSizing && "border-box" === dt.css(t, "boxSizing", !1, o), o) : 0)
                }
            }
        }), dt.support.opacity || (dt.cssHooks.opacity = {
            get: function (t, e) {
                return _e.test((e && t.currentStyle ? t.currentStyle.filter : t.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : e ? "1" : ""
            }, set: function (t, e) {
                var n = t.style, i = t.currentStyle, o = dt.isNumeric(e) ? "alpha(opacity=" + 100 * e + ")" : "", r = i && i.filter || n.filter || "";
                n.zoom = 1, (e >= 1 || "" === e) && "" === dt.trim(r.replace(me, "")) && n.removeAttribute && (n.removeAttribute("filter"), "" === e || i && !i.filter) || (n.filter = me.test(r) ? r.replace(me, o) : r + " " + o)
            }
        }), dt(function () {
            dt.support.reliableMarginRight || (dt.cssHooks.marginRight = {
                get: function (t, e) {
                    return e ? dt.swap(t, {display: "inline-block"}, ve, [t, "marginRight"]) : a
                }
            }), !dt.support.pixelPosition && dt.fn.position && dt.each(["top", "left"], function (t, e) {
                dt.cssHooks[e] = {
                    get: function (t, n) {
                        return n ? (n = ve(t, e), we.test(n) ? dt(t).position()[e] + "px" : n) : a
                    }
                }
            })
        }), dt.expr && dt.expr.filters && (dt.expr.filters.hidden = function (t) {
            return 0 >= t.offsetWidth && 0 >= t.offsetHeight || !dt.support.reliableHiddenOffsets && "none" === (t.style && t.style.display || dt.css(t, "display"))
        }, dt.expr.filters.visible = function (t) {
            return !dt.expr.filters.hidden(t)
        }), dt.each({margin: "", padding: "", border: "Width"}, function (t, e) {
            dt.cssHooks[t + e] = {
                expand: function (n) {
                    for (var i = 0, o = {}, r = "string" == typeof n ? n.split(" ") : [n]; 4 > i; i++)o[t + Se[i] + e] = r[i] || r[i - 2] || r[0];
                    return o
                }
            }, xe.test(t) || (dt.cssHooks[t + e].set = $)
        });
        var Ee = /%20/g, Le = /\[\]$/, Ne = /\r?\n/g, Ie = /^(?:submit|button|image|reset|file)$/i, Ae = /^(?:input|select|textarea|keygen)/i;
        dt.fn.extend({
            serialize: function () {
                return dt.param(this.serializeArray())
            }, serializeArray: function () {
                return this.map(function () {
                    var t = dt.prop(this, "elements");
                    return t ? dt.makeArray(t) : this
                }).filter(function () {
                    var t = this.type;
                    return this.name && !dt(this).is(":disabled") && Ae.test(this.nodeName) && !Ie.test(t) && (this.checked || !ae.test(t))
                }).map(function (t, e) {
                    var n = dt(this).val();
                    return null == n ? null : dt.isArray(n) ? dt.map(n, function (t) {
                                return {name: e.name, value: t.replace(Ne, "\r\n")}
                            }) : {name: e.name, value: n.replace(Ne, "\r\n")}
                }).get()
            }
        }), dt.param = function (t, e) {
            var n, i = [], o = function (t, e) {
                e = dt.isFunction(e) ? e() : null == e ? "" : e, i[i.length] = encodeURIComponent(t) + "=" + encodeURIComponent(e)
            };
            if (e === a && (e = dt.ajaxSettings && dt.ajaxSettings.traditional), dt.isArray(t) || t.jquery && !dt.isPlainObject(t)) dt.each(t, function () {
                o(this.name, this.value)
            }); else for (n in t)A(n, t[n], e, o);
            return i.join("&").replace(Ee, "+")
        }, dt.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (t, e) {
            dt.fn[e] = function (t, n) {
                return arguments.length > 0 ? this.on(e, null, t, n) : this.trigger(e)
            }
        }), dt.fn.hover = function (t, e) {
            return this.mouseenter(t).mouseleave(e || t)
        };
        var Oe, Be, Re = dt.now(), De = /\?/, Pe = /#.*$/, Me = /([?&])_=[^&]*/, He = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm, Fe = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, Ue = /^(?:GET|HEAD)$/, ze = /^\/\//, We = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, Ve = dt.fn.load, Qe = {}, Xe = {}, Ge = "*/".concat("*");
        try {
            Be = tt.href
        } catch (Je) {
            Be = Z.createElement("a"), Be.href = "", Be = Be.href
        }
        Oe = We.exec(Be.toLowerCase()) || [], dt.fn.load = function (t, e, n) {
            if ("string" != typeof t && Ve)return Ve.apply(this, arguments);
            var i, o, r, s = this, c = t.indexOf(" ");
            return c >= 0 && (i = t.slice(c, t.length), t = t.slice(0, c)), dt.isFunction(e) ? (n = e, e = a) : e && "object" == typeof e && (r = "POST"), s.length > 0 && dt.ajax({
                url: t,
                type: r,
                dataType: "html",
                data: e
            }).done(function (t) {
                o = arguments, s.html(i ? dt("<div>").append(dt.parseHTML(t)).find(i) : t)
            }).complete(n && function (t, e) {
                    s.each(n, o || [t.responseText, e, t])
                }), this
        }, dt.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (t, e) {
            dt.fn[e] = function (t) {
                return this.on(e, t)
            }
        }), dt.each(["get", "post"], function (t, e) {
            dt[e] = function (t, n, i, o) {
                return dt.isFunction(n) && (o = o || i, i = n, n = a), dt.ajax({
                    url: t,
                    type: e,
                    dataType: o,
                    data: n,
                    success: i
                })
            }
        }), dt.extend({
            active: 0,
            lastModified: {},
            etag: {},
            ajaxSettings: {
                url: Be,
                type: "GET",
                isLocal: Fe.test(Oe[1]),
                global: !0,
                processData: !0,
                async: !0,
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                accepts: {
                    "*": Ge,
                    text: "text/plain",
                    html: "text/html",
                    xml: "application/xml, text/xml",
                    json: "application/json, text/javascript"
                },
                contents: {xml: /xml/, html: /html/, json: /json/},
                responseFields: {xml: "responseXML", text: "responseText"},
                converters: {"* text": r.String, "text html": !0, "text json": dt.parseJSON, "text xml": dt.parseXML},
                flatOptions: {url: !0, context: !0}
            },
            ajaxSetup: function (t, e) {
                return e ? R(R(t, dt.ajaxSettings), e) : R(dt.ajaxSettings, t)
            },
            ajaxPrefilter: O(Qe),
            ajaxTransport: O(Xe),
            ajax: function (t, e) {
                function n(t, e, n, i) {
                    var o, f, _, y, x, w = e;
                    2 !== b && (b = 2, c && clearTimeout(c), u = a, s = i || "", k.readyState = t > 0 ? 4 : 0, n && (y = D(p, k, n)), t >= 200 && 300 > t || 304 === t ? (p.ifModified && (x = k.getResponseHeader("Last-Modified"), x && (dt.lastModified[r] = x), x = k.getResponseHeader("etag"), x && (dt.etag[r] = x)), 204 === t ? (o = !0, w = "nocontent") : 304 === t ? (o = !0, w = "notmodified") : (o = P(p, y), w = o.state, f = o.data, _ = o.error, o = !_)) : (_ = w, (t || !w) && (w = "error", 0 > t && (t = 0))), k.status = t, k.statusText = (e || w) + "", o ? g.resolveWith(d, [f, w, k]) : g.rejectWith(d, [k, w, _]), k.statusCode(m), m = a, l && h.trigger(o ? "ajaxSuccess" : "ajaxError", [k, p, o ? f : _]), v.fireWith(d, [k, w]), l && (h.trigger("ajaxComplete", [k, p]), --dt.active || dt.event.trigger("ajaxStop")))
                }

                "object" == typeof t && (e = t, t = a), e = e || {};
                var i, o, r, s, c, l, u, f, p = dt.ajaxSetup({}, e), d = p.context || p, h = p.context && (d.nodeType || d.jquery) ? dt(d) : dt.event, g = dt.Deferred(), v = dt.Callbacks("once memory"), m = p.statusCode || {}, _ = {}, y = {}, b = 0, x = "canceled", k = {
                    readyState: 0,
                    getResponseHeader: function (t) {
                        var e;
                        if (2 === b) {
                            if (!f)for (f = {}; e = He.exec(s);)f[e[1].toLowerCase()] = e[2];
                            e = f[t.toLowerCase()]
                        }
                        return null == e ? null : e
                    },
                    getAllResponseHeaders: function () {
                        return 2 === b ? s : null
                    },
                    setRequestHeader: function (t, e) {
                        var n = t.toLowerCase();
                        return b || (t = y[n] = y[n] || t, _[t] = e), this
                    },
                    overrideMimeType: function (t) {
                        return b || (p.mimeType = t), this
                    },
                    statusCode: function (t) {
                        var e;
                        if (t)if (2 > b)for (e in t)m[e] = [m[e], t[e]]; else k.always(t[k.status]);
                        return this
                    },
                    abort: function (t) {
                        var e = t || x;
                        return u && u.abort(e), n(0, e), this
                    }
                };
                if (g.promise(k).complete = v.add, k.success = k.done, k.error = k.fail, p.url = ((t || p.url || Be) + "").replace(Pe, "").replace(ze, Oe[1] + "//"), p.type = e.method || e.type || p.method || p.type, p.dataTypes = dt.trim(p.dataType || "*").toLowerCase().match(gt) || [""], null == p.crossDomain && (i = We.exec(p.url.toLowerCase()), p.crossDomain = !(!i || i[1] === Oe[1] && i[2] === Oe[2] && (i[3] || ("http:" === i[1] ? 80 : 443)) == (Oe[3] || ("http:" === Oe[1] ? 80 : 443)))), p.data && p.processData && "string" != typeof p.data && (p.data = dt.param(p.data, p.traditional)), B(Qe, p, e, k), 2 === b)return k;
                l = p.global, l && 0 === dt.active++ && dt.event.trigger("ajaxStart"), p.type = p.type.toUpperCase(), p.hasContent = !Ue.test(p.type), r = p.url, p.hasContent || (p.data && (r = p.url += (De.test(r) ? "&" : "?") + p.data, delete p.data), p.cache === !1 && (p.url = Me.test(r) ? r.replace(Me, "$1_=" + Re++) : r + (De.test(r) ? "&" : "?") + "_=" + Re++)), p.ifModified && (dt.lastModified[r] && k.setRequestHeader("If-Modified-Since", dt.lastModified[r]), dt.etag[r] && k.setRequestHeader("If-None-Match", dt.etag[r])), (p.data && p.hasContent && p.contentType !== !1 || e.contentType) && k.setRequestHeader("Content-Type", p.contentType), k.setRequestHeader("Accept", p.dataTypes[0] && p.accepts[p.dataTypes[0]] ? p.accepts[p.dataTypes[0]] + ("*" !== p.dataTypes[0] ? ", " + Ge + "; q=0.01" : "") : p.accepts["*"]);
                for (o in p.headers)k.setRequestHeader(o, p.headers[o]);
                if (p.beforeSend && (p.beforeSend.call(d, k, p) === !1 || 2 === b))return k.abort();
                x = "abort";
                for (o in{success: 1, error: 1, complete: 1})k[o](p[o]);
                if (u = B(Xe, p, e, k)) {
                    k.readyState = 1, l && h.trigger("ajaxSend", [k, p]), p.async && p.timeout > 0 && (c = setTimeout(function () {
                        k.abort("timeout")
                    }, p.timeout));
                    try {
                        b = 1, u.send(_, n)
                    } catch (w) {
                        if (!(2 > b))throw w;
                        n(-1, w)
                    }
                } else n(-1, "No Transport");
                return k
            },
            getScript: function (t, e) {
                return dt.get(t, a, e, "script")
            },
            getJSON: function (t, e, n) {
                return dt.get(t, e, n, "json")
            }
        }), dt.ajaxSetup({
            accepts: {script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},
            contents: {script: /(?:java|ecma)script/},
            converters: {
                "text script": function (t) {
                    return dt.globalEval(t), t
                }
            }
        }), dt.ajaxPrefilter("script", function (t) {
            t.cache === a && (t.cache = !1), t.crossDomain && (t.type = "GET", t.global = !1)
        }), dt.ajaxTransport("script", function (t) {
            if (t.crossDomain) {
                var e, n = Z.head || dt("head")[0] || Z.documentElement;
                return {
                    send: function (i, o) {
                        e = Z.createElement("script"), e.async = !0, t.scriptCharset && (e.charset = t.scriptCharset), e.src = t.url, e.onload = e.onreadystatechange = function (t, n) {
                            (n || !e.readyState || /loaded|complete/.test(e.readyState)) && (e.onload = e.onreadystatechange = null, e.parentNode && e.parentNode.removeChild(e), e = null, n || o(200, "success"))
                        }, n.insertBefore(e, n.firstChild)
                    }, abort: function () {
                        e && e.onload(a, !0)
                    }
                }
            }
        });
        var Ye = [], Ke = /(=)\?(?=&|$)|\?\?/;
        dt.ajaxSetup({
            jsonp: "callback", jsonpCallback: function () {
                var t = Ye.pop() || dt.expando + "_" + Re++;
                return this[t] = !0, t
            }
        }), dt.ajaxPrefilter("json jsonp", function (t, e, n) {
            var i, o, s, c = t.jsonp !== !1 && (Ke.test(t.url) ? "url" : "string" == typeof t.data && !(t.contentType || "").indexOf("application/x-www-form-urlencoded") && Ke.test(t.data) && "data");
            return c || "jsonp" === t.dataTypes[0] ? (i = t.jsonpCallback = dt.isFunction(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, c ? t[c] = t[c].replace(Ke, "$1" + i) : t.jsonp !== !1 && (t.url += (De.test(t.url) ? "&" : "?") + t.jsonp + "=" + i), t.converters["script json"] = function () {
                    return s || dt.error(i + " was not called"), s[0]
                }, t.dataTypes[0] = "json", o = r[i], r[i] = function () {
                    s = arguments
                }, n.always(function () {
                    r[i] = o, t[i] && (t.jsonpCallback = e.jsonpCallback, Ye.push(i)), s && dt.isFunction(o) && o(s[0]), s = o = a
                }), "script") : a
        });
        var Ze, tn, en = 0, nn = r.ActiveXObject && function () {
                var t;
                for (t in Ze)Ze[t](a, !0)
            };
        dt.ajaxSettings.xhr = r.ActiveXObject ? function () {
                return !this.isLocal && M() || H()
            } : M, tn = dt.ajaxSettings.xhr(), dt.support.cors = !!tn && "withCredentials" in tn, tn = dt.support.ajax = !!tn, tn && dt.ajaxTransport(function (t) {
            if (!t.crossDomain || dt.support.cors) {
                var e;
                return {
                    send: function (n, i) {
                        var o, s, c = t.xhr();
                        if (t.username ? c.open(t.type, t.url, t.async, t.username, t.password) : c.open(t.type, t.url, t.async), t.xhrFields)for (s in t.xhrFields)c[s] = t.xhrFields[s];
                        t.mimeType && c.overrideMimeType && c.overrideMimeType(t.mimeType), t.crossDomain || n["X-Requested-With"] || (n["X-Requested-With"] = "XMLHttpRequest");
                        try {
                            for (s in n)c.setRequestHeader(s, n[s])
                        } catch (l) {
                        }
                        c.send(t.hasContent && t.data || null), e = function (n, r) {
                            var s, l, u, f;
                            try {
                                if (e && (r || 4 === c.readyState))if (e = a, o && (c.onreadystatechange = dt.noop, nn && delete Ze[o]), r) 4 !== c.readyState && c.abort(); else {
                                    f = {}, s = c.status, l = c.getAllResponseHeaders(), "string" == typeof c.responseText && (f.text = c.responseText);
                                    try {
                                        u = c.statusText
                                    } catch (p) {
                                        u = ""
                                    }
                                    s || !t.isLocal || t.crossDomain ? 1223 === s && (s = 204) : s = f.text ? 200 : 404
                                }
                            } catch (d) {
                                r || i(-1, d)
                            }
                            f && i(s, u, f, l)
                        }, t.async ? 4 === c.readyState ? setTimeout(e) : (o = ++en, nn && (Ze || (Ze = {}, dt(r).unload(nn)), Ze[o] = e), c.onreadystatechange = e) : e()
                    }, abort: function () {
                        e && e(a, !0)
                    }
                }
            }
        });
        var on, rn, an = /^(?:toggle|show|hide)$/, sn = RegExp("^(?:([+-])=|)(" + ht + ")([a-z%]*)$", "i"), cn = /queueHooks$/, ln = [V], un = {
            "*": [function (t, e) {
                var n, i, o = this.createTween(t, e), r = sn.exec(e), a = o.cur(), s = +a || 0, c = 1, l = 20;
                if (r) {
                    if (n = +r[2], i = r[3] || (dt.cssNumber[t] ? "" : "px"), "px" !== i && s) {
                        s = dt.css(o.elem, t, !0) || n || 1;
                        do c = c || ".5", s /= c, dt.style(o.elem, t, s + i); while (c !== (c = o.cur() / a) && 1 !== c && --l)
                    }
                    o.unit = i, o.start = s, o.end = r[1] ? s + (r[1] + 1) * n : n
                }
                return o
            }]
        };
        dt.Animation = dt.extend(z, {
            tweener: function (t, e) {
                dt.isFunction(t) ? (e = t, t = ["*"]) : t = t.split(" ");
                for (var n, i = 0, o = t.length; o > i; i++)n = t[i], un[n] = un[n] || [], un[n].unshift(e)
            }, prefilter: function (t, e) {
                e ? ln.unshift(t) : ln.push(t)
            }
        }), dt.Tween = Q, Q.prototype = {
            constructor: Q, init: function (t, e, n, i, o, r) {
                this.elem = t, this.prop = n, this.easing = o || "swing", this.options = e, this.start = this.now = this.cur(), this.end = i, this.unit = r || (dt.cssNumber[n] ? "" : "px")
            }, cur: function () {
                var t = Q.propHooks[this.prop];
                return t && t.get ? t.get(this) : Q.propHooks._default.get(this)
            }, run: function (t) {
                var e, n = Q.propHooks[this.prop];
                return this.pos = e = this.options.duration ? dt.easing[this.easing](t, this.options.duration * t, 0, 1, this.options.duration) : t, this.now = (this.end - this.start) * e + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Q.propHooks._default.set(this), this
            }
        }, Q.prototype.init.prototype = Q.prototype, Q.propHooks = {
            _default: {
                get: function (t) {
                    var e;
                    return null == t.elem[t.prop] || t.elem.style && null != t.elem.style[t.prop] ? (e = dt.css(t.elem, t.prop, ""), e && "auto" !== e ? e : 0) : t.elem[t.prop]
                }, set: function (t) {
                    dt.fx.step[t.prop] ? dt.fx.step[t.prop](t) : t.elem.style && (null != t.elem.style[dt.cssProps[t.prop]] || dt.cssHooks[t.prop]) ? dt.style(t.elem, t.prop, t.now + t.unit) : t.elem[t.prop] = t.now
                }
            }
        }, Q.propHooks.scrollTop = Q.propHooks.scrollLeft = {
            set: function (t) {
                t.elem.nodeType && t.elem.parentNode && (t.elem[t.prop] = t.now)
            }
        }, dt.each(["toggle", "show", "hide"], function (t, e) {
            var n = dt.fn[e];
            dt.fn[e] = function (t, i, o) {
                return null == t || "boolean" == typeof t ? n.apply(this, arguments) : this.animate(X(e, !0), t, i, o)
            }
        }), dt.fn.extend({
            fadeTo: function (t, e, n, i) {
                return this.filter(j).css("opacity", 0).show().end().animate({opacity: e}, t, n, i)
            }, animate: function (t, e, n, i) {
                var o = dt.isEmptyObject(t), r = dt.speed(e, n, i), a = function () {
                    var e = z(this, dt.extend({}, t), r);
                    a.finish = function () {
                        e.stop(!0)
                    }, (o || dt._data(this, "finish")) && e.stop(!0)
                };
                return a.finish = a, o || r.queue === !1 ? this.each(a) : this.queue(r.queue, a)
            }, stop: function (t, e, n) {
                var i = function (t) {
                    var e = t.stop;
                    delete t.stop, e(n)
                };
                return "string" != typeof t && (n = e, e = t, t = a), e && t !== !1 && this.queue(t || "fx", []), this.each(function () {
                    var e = !0, o = null != t && t + "queueHooks", r = dt.timers, a = dt._data(this);
                    if (o) a[o] && a[o].stop && i(a[o]); else for (o in a)a[o] && a[o].stop && cn.test(o) && i(a[o]);
                    for (o = r.length; o--;)r[o].elem !== this || null != t && r[o].queue !== t || (r[o].anim.stop(n), e = !1, r.splice(o, 1));
                    (e || !n) && dt.dequeue(this, t)
                })
            }, finish: function (t) {
                return t !== !1 && (t = t || "fx"), this.each(function () {
                    var e, n = dt._data(this), i = n[t + "queue"], o = n[t + "queueHooks"], r = dt.timers, a = i ? i.length : 0;
                    for (n.finish = !0, dt.queue(this, t, []), o && o.cur && o.cur.finish && o.cur.finish.call(this), e = r.length; e--;)r[e].elem === this && r[e].queue === t && (r[e].anim.stop(!0), r.splice(e, 1));
                    for (e = 0; a > e; e++)i[e] && i[e].finish && i[e].finish.call(this);
                    delete n.finish
                })
            }
        }), dt.each({
            slideDown: X("show"),
            slideUp: X("hide"),
            slideToggle: X("toggle"),
            fadeIn: {opacity: "show"},
            fadeOut: {opacity: "hide"},
            fadeToggle: {opacity: "toggle"}
        }, function (t, e) {
            dt.fn[t] = function (t, n, i) {
                return this.animate(e, t, n, i)
            }
        }), dt.speed = function (t, e, n) {
            var i = t && "object" == typeof t ? dt.extend({}, t) : {
                    complete: n || !n && e || dt.isFunction(t) && t,
                    duration: t,
                    easing: n && e || e && !dt.isFunction(e) && e
                };
            return i.duration = dt.fx.off ? 0 : "number" == typeof i.duration ? i.duration : i.duration in dt.fx.speeds ? dt.fx.speeds[i.duration] : dt.fx.speeds._default, (null == i.queue || i.queue === !0) && (i.queue = "fx"), i.old = i.complete, i.complete = function () {
                dt.isFunction(i.old) && i.old.call(this), i.queue && dt.dequeue(this, i.queue)
            }, i
        }, dt.easing = {
            linear: function (t) {
                return t
            }, swing: function (t) {
                return .5 - Math.cos(t * Math.PI) / 2
            }
        }, dt.timers = [], dt.fx = Q.prototype.init, dt.fx.tick = function () {
            var t, e = dt.timers, n = 0;
            for (on = dt.now(); e.length > n; n++)t = e[n], t() || e[n] !== t || e.splice(n--, 1);
            e.length || dt.fx.stop(), on = a
        }, dt.fx.timer = function (t) {
            t() && dt.timers.push(t) && dt.fx.start()
        }, dt.fx.interval = 13, dt.fx.start = function () {
            rn || (rn = setInterval(dt.fx.tick, dt.fx.interval))
        }, dt.fx.stop = function () {
            clearInterval(rn), rn = null
        }, dt.fx.speeds = {
            slow: 600,
            fast: 200,
            _default: 400
        }, dt.fx.step = {}, dt.expr && dt.expr.filters && (dt.expr.filters.animated = function (t) {
            return dt.grep(dt.timers, function (e) {
                return t === e.elem
            }).length
        }), dt.fn.offset = function (t) {
            if (arguments.length)return t === a ? this : this.each(function (e) {
                    dt.offset.setOffset(this, t, e)
                });
            var e, n, i = {top: 0, left: 0}, o = this[0], r = o && o.ownerDocument;
            return r ? (e = r.documentElement, dt.contains(e, o) ? (typeof o.getBoundingClientRect !== K && (i = o.getBoundingClientRect()), n = G(r), {
                        top: i.top + (n.pageYOffset || e.scrollTop) - (e.clientTop || 0),
                        left: i.left + (n.pageXOffset || e.scrollLeft) - (e.clientLeft || 0)
                    }) : i) : void 0
        }, dt.offset = {
            setOffset: function (t, e, n) {
                var i = dt.css(t, "position");
                "static" === i && (t.style.position = "relative");
                var o, r, a = dt(t), s = a.offset(), c = dt.css(t, "top"), l = dt.css(t, "left"), u = ("absolute" === i || "fixed" === i) && dt.inArray("auto", [c, l]) > -1, f = {}, p = {};
                u ? (p = a.position(), o = p.top, r = p.left) : (o = parseFloat(c) || 0, r = parseFloat(l) || 0), dt.isFunction(e) && (e = e.call(t, n, s)), null != e.top && (f.top = e.top - s.top + o), null != e.left && (f.left = e.left - s.left + r), "using" in e ? e.using.call(t, f) : a.css(f)
            }
        }, dt.fn.extend({
            position: function () {
                if (this[0]) {
                    var t, e, n = {top: 0, left: 0}, i = this[0];
                    return "fixed" === dt.css(i, "position") ? e = i.getBoundingClientRect() : (t = this.offsetParent(), e = this.offset(), dt.nodeName(t[0], "html") || (n = t.offset()), n.top += dt.css(t[0], "borderTopWidth", !0), n.left += dt.css(t[0], "borderLeftWidth", !0)), {
                        top: e.top - n.top - dt.css(i, "marginTop", !0),
                        left: e.left - n.left - dt.css(i, "marginLeft", !0)
                    }
                }
            }, offsetParent: function () {
                return this.map(function () {
                    for (var t = this.offsetParent || Z.documentElement; t && !dt.nodeName(t, "html") && "static" === dt.css(t, "position");)t = t.offsetParent;
                    return t || Z.documentElement
                })
            }
        }), dt.each({scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function (t, e) {
            var n = /Y/.test(e);
            dt.fn[t] = function (i) {
                return dt.access(this, function (t, i, o) {
                    var r = G(t);
                    return o === a ? r ? e in r ? r[e] : r.document.documentElement[i] : t[i] : (r ? r.scrollTo(n ? dt(r).scrollLeft() : o, n ? o : dt(r).scrollTop()) : t[i] = o, a)
                }, t, i, arguments.length, null)
            }
        }), dt.each({Height: "height", Width: "width"}, function (t, e) {
            dt.each({padding: "inner" + t, content: e, "": "outer" + t}, function (n, i) {
                dt.fn[i] = function (i, o) {
                    var r = arguments.length && (n || "boolean" != typeof i), s = n || (i === !0 || o === !0 ? "margin" : "border");
                    return dt.access(this, function (e, n, i) {
                        var o;
                        return dt.isWindow(e) ? e.document.documentElement["client" + t] : 9 === e.nodeType ? (o = e.documentElement, Math.max(e.body["scroll" + t], o["scroll" + t], e.body["offset" + t], o["offset" + t], o["client" + t])) : i === a ? dt.css(e, n, s) : dt.style(e, n, i, s)
                    }, e, r ? i : a, r, null)
                }
            })
        }), r.jQuery = r.$ = dt, n(2) && n(2).jQuery && (i = [], o = function () {
            return dt
        }.apply(e, i), !(void 0 !== o && (t.exports = o)))
    }(window)
}, function (t, e) {
    (function (e) {
        t.exports = e
    }).call(e, {})
}, function (t, e) {
    "use strict";
    Array.prototype.map || (Array.prototype.map = function (t, e) {
        var n, i, o;
        if (null == this)throw new TypeError(" this is null or not defined");
        var r = Object(this), a = r.length >>> 0;
        if ("[object Function]" != Object.prototype.toString.call(t))throw new TypeError(t + " is not a function");
        for (e && (n = e), i = new Array(a), o = 0; o < a;) {
            var s, c;
            o in r && (s = r[o], c = t.call(n, s, o, r), i[o] = c), o++
        }
        return i
    })
}, function (t, e, n) {
    var i = n(5);
    $.extend({
        time33: function (t) {
            for (var e = 0, n = t.length, i = 5381; e < n; ++e)i += (i << 5) + t.charAt(e).charCodeAt();
            return 2147483647 & i
        }, getJsonp: function (t, e, n, i) {
            return $.isFunction(n) && (i = n), $.get(t, e, i, "jsonp")
        }, getJson: function (t, e, n, i) {
            return $.isFunction(n) && (i = n), $.get(t, e, i, "json")
        }, getToken: function () {
            var t = i.getSkey(), e = t ? $.time33(t) : "";
            return e
        }, ajaxQueue: function (t) {
            t = t || {};
            var e, n = t.urls, i = t.success || function () {
                }, o = t.error || function () {
                }, r = t.complete || function () {
                }, a = t.beforeSend || function () {
                }, s = [];
            return n = "array" == $.type(n) ? n : [n], a(), $.each(n, function (t, e) {
                s.push($.ajax(e))
            }), e = $.when.apply(null, s).always(r).done(i).fail(o).promise(), e.success = e.done, e.error = e.fail, e.complete = e.always, e
        }, ajaxSetup: function () {
            var t = $.ajaxSetup;
            return function (e, n) {
                return e = t(e, n), e.CSRF && (e.data = e.data || {},
                    e.data.g_tk = $.getToken()), e.charset && (e.scriptCharset = e.charset), e.low_login && (e.data = e.data || {}, e.data.low_login = 1), "script" == e.dataType && e.cache !== !1 && (e.cache = !0), e
            }
        }()
    }), $.ajaxSetup({timeout: 5e3, charset: "utf-8"}), function () {
        function t(t) {
            var e = encodeURIComponent, n = t.bizCode, i = t.bizMsg, o = +n <= 0 ? "&bizcode=" + n : "", r = i ? "&bizmsg=" + e(i) : "", a = new Image(1, 1);
            a.src = "//btrace.qq.com/kvcollect?BossId=4140&Pwd=1431567924&protocol=" + t.protocol + "&host=" + t.host + "&path=" + e(t.path) + "&query=" + e(t.query) + "&delay=" + t.delay + "&httpcode=" + t.httpCode + o + r + "&_dc=" + Math.random()
        }

        function e(t, n) {
            var i, o, r = /ret|code|status|state|res|em/i, a = /msg|message/i, s = /re[ts]/i;
            for (var c in t) {
                var l = t[c], u = +i <= 0, f = "string" == typeof o;
                if (u && f)break;
                if (!u)if ("o" === l && "s" === c) i = 0; else {
                    var p = parseInt(l) && +l;
                    p <= 0 && r.test(c) && (i = p)
                }
                if (f || "string" == typeof l && a.test(c) && (o = l), !n && "object" == typeof l && s.test(c)) {
                    var d = e(l, !0);
                    i = d.ret, o = d.msg
                }
            }
            return {ret: i, msg: o}
        }

        function n(n, i) {
            var o;
            if (o = "object" == typeof n ? n : i, "jsonp" != o.dataType && "script" != o.dataType)return a.apply(this, arguments);
            var r, c, l = o.beforeSend, u = o.success, f = o.error, p = !1, d = 0, h = 200;
            o.beforeSend = function (t) {
                d = (new Date).getTime(), r = t, c = this, l && l.apply(this, arguments)
            };
            var g = function (n) {
                setTimeout(function () {
                    var i, o, r = (new Date).getTime() - d;
                    if (n && "object" == typeof n) {
                        var a = e(n);
                        i = a.ret, o = a.msg
                    }
                    var s = document.createElement("a");
                    s.href = c.url;
                    var l = s.pathname;
                    /^\//.test(l) || (l = "/" + l), t({
                        protocol: s.protocol.replace(/:$/, ""),
                        host: s.host,
                        path: l,
                        query: s.search.replace(/^\?/, "") + s.hash,
                        delay: r,
                        httpCode: h,
                        bizCode: i,
                        bizMsg: o
                    })
                })
            };
            o.success = function (t, e) {
                g(t), u && u.apply(this, arguments)
            };
            var v = function () {
                p || (p = !0, g(), f && f.apply(this, arguments))
            };
            o.error = function (t, e, n) {
                h = "timeout" === n ? 556 : 555, v.apply(this, arguments)
            };
            var m = a.apply(this, arguments);
            try {
                var _ = s[0].firstChild;
                _.onerror = function (t) {
                    h = 555, v.call(c, r, null, t)
                }
            } catch (y) {
            }
            return m
        }

        function o() {
            parseInt(i.getUin()) % 97 === 10 && ($.ajax = n)
        }

        function r() {
            $.ajax = a
        }

        if (!$.realAjax) {
            var a = $.realAjax = $.ajax, s = document.getElementsByTagName("head");
            i.addLoginCallback(o), i.addLogoutCallback(r), o()
        }
    }()
}, function (t, e, n) {
    var i = n(6), o = n(7), r = n(14), a = n(15), s = n(10), c = n(9), l = n(12), u = function () {
    }, f = function (t) {
        var e = this, n = {};
        t = t || {}, this.getConfig = function (e) {
            return t[e]
        }, this.setConfig = function (e, n) {
            "string" == typeof e ? t[e] = n : $.extend(t, e)
        }, $.each(["ClearLoginStatus", "OpenLogin", "CloseLogin", "Login", "LoginCancel", "Logout", "UserInfoChanged"], function (t, i) {
            if (!n[i]) {
                var o = $.Callbacks("unique");
                n[i] = o, e["add" + i + "Callback"] = o.add, e["remove" + i + "Callback"] = o.remove, e["empty" + i + "Callback"] = o.empty, e["on" + i] = o.fireWith
            }
        }), $.each(["Ready"], function (t, i) {
            if (!n[i]) {
                var o = $.Callbacks("unique memory once");
                n[i] = o, e["add" + i + "Callback"] = o.add, e["remove" + i + "Callback"] = o.remove, e["empty" + i + "Callback"] = o.empty, e["on" + i] = o.fireWith
            }
        })
    };
    $.each(["getUin", "getNick", "getAvatar", "getSkey", "openLogin", "logout", "isLogin", "clearLoginCookie", "getEncUin", "setStatus"], function (t, e) {
        f.prototype[e] = function () {
        }
    });
    var p = function () {
        var t = null;
        return {
            init: function (e) {
                t instanceof f ? t.setConfig(e) : (t = new f(e), $.extend(p, t))
            }
        }
    }();
    $.extend(f.prototype, {
        isLogin: function () {
            return "wx" == this.getLoginType() || this.getUinOnly() > 1e4
        }, isQQLogin: function () {
            return "wx" != this.getLoginType() && this.getUinOnly() > 1e4
        }, isWxLogin: function () {
            return "wx" == this.getLoginType()
        }, isLowLogin: function () {
            if (d.isWxLogin())return !1;
            var t = $.trim(i.get("skey")), e = $.trim(i.get(d.getConfig("uinCookie")));
            return d.isQQLogin() && (!t || !e)
        }, isStrongLogin: function () {
            if (d.isWxLogin())return !0;
            var t = $.trim(i.get("skey")), e = $.trim(i.get(d.getConfig("uinCookie")));
            return d.isQQLogin() && !!t && !!e
        }, getWxAuthCookies: function () {
            return d.isWxLogin() ? {
                    access_token: i.get("access_token"),
                    appid: i.get("appid"),
                    openid: i.get("openid"),
                    vuserid: i.get("vuserid"),
                    vusession: i.get("vusession")
                } : null
        }, getWxCookies: function (t) {
            $.ajax({
                url: d.config.wxGetCookie_cgi, type: "get", dataType: "jsonp", timeout: 1e4, success: function (e) {
                    t(e)
                }
            })
        }, getUnicode: function () {
            if ("wx" == this.getLoginType()) {
                var t = i.get("vuserid");
                return t && t.length > 0 ? parseInt(t, 10) : 0
            }
            if ("" == this.getSkey())return 0;
            var e = parseInt(i.get(this.getConfig("uinCookie")).replace(/^o0*/g, ""), 10);
            return (!e || e <= 1e4) && (e = parseInt(i.get(this.getConfig("luinCookie")).replace(/^o0*/g, ""), 10), !e || e <= 1e4) ? 0 : e
        }, getUin: function () {
            if ("wx" == this.getLoginType())return 0;
            if ("" == this.getSkey())return 0;
            var t = parseInt(i.get(this.getConfig("uinCookie")).replace(/^o0*/g, ""), 10);
            return (!t || t <= 1e4) && (t = parseInt(i.get(this.getConfig("luinCookie")).replace(/^o0*/g, ""), 10), !t || t <= 1e4) ? 0 : t
        }, getEncUin: function () {
            if ("wx" == this.getLoginType())return 0;
            if ("" == this.getSkey())return "";
            var t = i.get(this.getConfig("encuinCookie"));
            if ("" == t)return t;
            var e = t.split("|");
            return e[1] && e[1] == this.getUinOnly() ? decodeURIComponent(e[0]) : ""
        }, getNick: function () {
            if ("wx" == this.getLoginType())return d.getWxNick();
            if ("" == this.getSkey())return "";
            var t = i.get(this.getConfig("nickCookie"));
            if ("" == t)return t;
            var e = t.split("|");
            if (e[1] && e[1] == this.getUinOnly())try {
                return decodeURIComponent(e[0])
            } catch (n) {
                return e[0]
            }
            return ""
        }, getAvatar: function (t) {
            if ("wx" == this.getLoginType())return d.getWxHead();
            if ("" == this.getSkey())return "";
            var e = i.get(this.getConfig("nickCookie"));
            if ("" == e)return e;
            var n = e.split("|"), o = this.getUinOnly();
            return n[1] && n[1] == o && n[2] ? (t = d.getValidAvatarSize(t), d.removeHttp(decodeURIComponent(n[2]).replace(/([\?&]?s=)40([&$])/, "$1" + t + "$2"))) : ""
        }, getValidAvatarSize: function (t) {
            var e = d.getConfig("avatarSize");
            return $.inArray(t, e) == -1 ? e[0] : t
        }, refreshWxLogin: function (t, e) {
            var n = d.config.wxRefresh_cgi;
            e && (n += "?write=1"), $.ajax({
                url: n, type: "get", dataType: "jsonp", timeout: 1e4, success: function (e) {
                    e && 0 == e.errcode ? (location.host.indexOf("qq.com") >= 0 && (i.set("access_token", e.access_token, location.host, "/", d.getConfig("cookieTime")), i.set("vusession", e.vusession, location.host, "/", d.getConfig("cookieTime"))), d.refreshTokenWxCgi(e.next_refresh_time)) : (d.reportToBoss({
                            oper: 11,
                            main_type: "wx",
                            msg: e
                        }), d.logout()), t && t()
                }
            })
        }, getLoginType: function () {
            return i.get(this.getConfig("typeCookie"))
        }, getUinOnly: function () {
            if ("" == this.getSkey())return 0;
            var t = parseInt(i.get(this.getConfig("uinCookie")).replace(/^o0*/g, ""), 10);
            return (!t || t <= 1e4) && (t = parseInt(i.get(this.getConfig("luinCookie")).replace(/^o0*/g, ""), 10), !t || t <= 1e4) ? 0 : t
        }, checkQQUin: function () {
            if (0 == d.getConfig("useStrictLogin")) {
                var t = parseInt(i.get(this.getConfig("uinCookie")).replace(/^o0*/g, ""), 10), e = parseInt(i.get(this.getConfig("luinCookie")).replace(/^o0*/g, ""), 10);
                t && e && t != e && (i.set(d.getConfig("luinCookie"), "", ".qq.com", "/", -24), i.set("lskey", "", ".qq.com", "/", -24))
            }
        }, getSkey: function () {
            var t = $.trim(i.get("skey"));
            return this.getConfig("useStrictLogin") ? t : t || $.trim(i.get("lskey"))
        }, getWxHead: function () {
            var t = i.get(this.getConfig("wxHeadCookie"));
            return t ? d.removeHttp(t) : ""
        }, getWxNick: function () {
            return decodeURIComponent(i.get(this.getConfig("wxNickCookie")))
        }, reportToBoss: function (t, e) {
            var n = "//btrace.video.qq.com/kvcollect?BossId=3098&Pwd=390647416&";
            t = t || {};
            var o = d.getLoginType();
            t.main_type = t.main_type || o, "wx" == o ? t.uin = i.get("vuserid") : t.uin = d.getUinOnly(), t.host = location.host, t.url = location.href;
            var r = $.param(t), a = [n, r, "&_dc=", Math.random()].join("");
            e ? c.push(a) : l(a)
        }, refreshTokenWxCgi: function (t) {
            var e = 6e3;
            t && t > 0 && t < 6e3 && (e = t), e = 1e3 * e, d.refreshTokenWxTimer && clearTimeout(d.refreshTokenWxTimer), d.refreshTokenWxTimer = setTimeout(function () {
                d.refreshWxLogin()
            }, e)
        }, renew_skey: function () {
            var t, e = 0, n = "skey_renew_time", i = 18e5, r = 0, a = function () {
                return d.isQQLogin() && d.isStrongLogin() ? void $.ajax({
                        url: d.config.renew_skey + "&uin=" + d.getUin() + "&sessionkey=" + d.getSkey(),
                        type: "get",
                        dataType: "jsonp",
                        jsonpCallback: "renewskeyCallback"
                    }).done(function (i) {
                        return i && i.code == -1 ? void clearInterval(t) : (r = 0, s.set(n, (new Date).valueOf()), void o.button("PTLOGIN.SKEY_INTER." + e++, "/virtualpage/skey.html"))
                    }).fail(function () {
                        r >= 3 || (r += 1, setTimeout(a, 6e3))
                    }) : void clearInterval(t)
            };
            s.get(n, function (t) {
                var e = t;
                (!e || parseInt(e) + i < (new Date).valueOf()) && a()
            }), t = setInterval(a, i), d.addLoginCallback(function () {
                d.isQQLogin() && d.isStrongLogin() && (t && clearInterval(t), t = setInterval(a, i))
            }), d.addLogoutCallback(function () {
                t && clearInterval(t)
            })
        }, setReady: function () {
            d.getConfig("hasReady") || (d.onReady(d, [d.isLogin()]), d.setConfig("hasReady", !0))
        }, getQQNick: function (t, e) {
            $.ajax({
                url: d.config.userInfo_cgi,
                data: {otype: "json", datakey: "basicinfo"},
                type: "get",
                dataType: "jsonp",
                timeout: 1e4,
                success: function (n) {
                    if (!n || 1 != n.is_token_valid)return d.clearLoginCookie(), d.setReady(), void(e && d.reportToBoss({
                        oper: 11,
                        main_type: "qq",
                        msg: n.msg
                    }));
                    if (n.user_basic && n.user_basic.user_id && n.user_basic.user_id.length > 0) {
                        var o = n.user_basic;
                        o.has100 = o.has_100 ? 1 : 0, o.head = d.removeHttp(o.head), location.host.indexOf("qq.com") >= 0 && ("undefined" != typeof o.encuin && i.set(d.getConfig("encuinCookie"), o.encuin + "|" + d.getUinOnly(), location.host, "/", d.getConfig("cookieTime")), i.set(d.getConfig("nickCookie"), [encodeURIComponent(o.nick), d.getUinOnly(), o.head, o.has100].join("|"), location.host, "/", d.getConfig("cookieTime"))), d.showOnline(o.nick, o.head, o.has100)
                    } else d.showOnline();
                    d.setReady(), 1 == t && "function" == typeof d.getConfig("success") && (d.getConfig("success")(), d.setConfig("success", null)), !d.getConfig("disLogCallback") && e && d.onLogin(), d.setConfig("disLogCallback", !1), 1 == e && (d.reportToBoss({
                        oper: 10,
                        main_type: "qq"
                    }), d.setRememberType("qq"), l("//ncgi.video.qq.com/tvideo/fcgi-bin/loginstat"))
                }
            }).fail(function (n) {
                d.setReady(), d.showOnline(), 1 == t && "function" == typeof d.getConfig("success") && (d.getConfig("success")(), d.setConfig("success", null)), 1 == t && d.onLogin(), e && d.reportToBoss({
                    oper: 11,
                    main_type: "qq",
                    msg: n && n.statusText ? n.statusText : ""
                })
            })
        }, setStatus: function (t, e, n, o) {
            var n = n || d.getLoginType();
            if ("wx" != n && 0 == d.getUinOnly())return d.clearLoginCookie(), void d.setReady();
            if ("wx" == n)if ("string" == typeof o) {
                d.getWxCookies(function (e) {
                    e && location.host.indexOf("qq.com") >= 0 && (i.set("access_token", e.access_token, location.host, "/", d.getConfig("cookieTime")), i.set("openid", e.openid, location.host, "/", d.getConfig("cookieTime")), i.set("vuserid", e.vuserid, location.host, "/", d.getConfig("cookieTime")), i.set("vusession", e.vusession, location.host, "/", d.getConfig("cookieTime")), i.set("appid", e.appid, location.host, "/", d.getConfig("cookieTime"))), 0 != t && "function" == typeof d.getConfig("success") && (d.getConfig("success")(), d.setConfig("success", null)), 0 != t && d.onLogin(), d.refreshTokenWxCgi(e.next_refresh_time), d.reportToBoss({
                        oper: 10,
                        main_type: "wx"
                    })
                });
                var r = $.parseJSON(o);
                r.head = r.head || d.getConfig("defaultHead"), r.nick = decodeURIComponent(r.nick) || "", location.host.indexOf("qq.com") >= 0 && (i.set(d.getConfig("typeCookie"), "wx", location.host, "/", d.getConfig("cookieTime")), i.set(d.getConfig("wxNickCookie"), encodeURIComponent(r.nick), location.host, "/", d.getConfig("cookieTime")), i.set(d.getConfig("wxHeadCookie"), r.head, location.host, "/", d.getConfig("cookieTime"))), d.showOnline(r.nick, r.head, 0), d.setRememberType("wx")
            } else $.ajax({
                url: d.config.wxRefresh_cgi,
                type: "get",
                dataType: "jsonp",
                timeout: 1e4,
                success: function (e) {
                    if (!e || 0 != e.errcode) {
                        if (d.reportToBoss({
                                oper: 11,
                                main_type: "wx",
                                msg: e.msg
                            }), e && $.inArray(e.errcode, [1006, 1010]) != -1) d.clearLoginCookie(); else {
                            var n = {head: d.getWxHead() || d.getConfig("defaultHead"), nick: d.getWxNick() || ""};
                            d.showOnline(n.nick, n.head, 0), d.refreshWxLogin(!1, function () {
                                0 != t && "function" == typeof d.getConfig("success") && (d.getConfig("success")(), d.setConfig("success", null)), 0 != t && d.onLogin()
                            })
                        }
                        return void d.setReady()
                    }
                    location.host.indexOf("qq.com") >= 0 && (i.set("access_token", e.access_token, location.host, "/", d.getConfig("cookieTime")), i.set("vusession", e.vusession, location.host, "/", d.getConfig("cookieTime")));
                    var n = {head: e.head || d.getWxHead() || d.getConfig("defaultHead")};
                    e.nick ? n.nick = decodeURIComponent(e.nick) : n.nick = d.getWxNick() || "", location.host.indexOf("qq.com") >= 0 && (i.set(d.getConfig("wxNickCookie"), encodeURIComponent(n.nick), location.host, "/", d.getConfig("cookieTime")), i.set(d.getConfig("wxHeadCookie"), n.head, location.host, "/", d.getConfig("cookieTime"))), d.setReady(), d.showOnline(n.nick, n.head, 0), 0 != t && "function" == typeof d.getConfig("success") && (d.getConfig("success")(), d.setConfig("success", null)), 0 != t && d.onLogin(), d.refreshTokenWxCgi(e.next_refresh_time)
                }
            }).fail(function (e) {
                var n = {head: d.getWxHead() || d.getConfig("defaultHead"), nick: d.getWxNick() || ""};
                d.showOnline(n.nick, n.head, 0), d.refreshWxLogin(!1, function () {
                    0 != t && "function" == typeof d.getConfig("success") && (d.getConfig("success")(), d.setConfig("success", null)), 0 != t && d.onLogin()
                }), d.setReady(), d.reportToBoss({
                    oper: 11,
                    main_type: "wx",
                    msg: e && e.statusText ? e.statusText : ""
                })
            }); else 1 == e || "" == d.getLoginType() ? (location.host.indexOf("qq.com") >= 0 && i.set(d.getConfig("typeCookie"), "qq", location.host, "/", d.getConfig("cookieTime")), $.ajax({
                    url: d.config.qqLogin_cgi,
                    type: "get",
                    dataType: "jsonp",
                    success: function () {
                        d.getQQNick(t, e)
                    }
                }).fail(function (t) {
                    d.clearLoginCookie(), d.setReady(), e && d.reportToBoss({
                        oper: 11,
                        main_type: "qq",
                        msg: t && t.statusText ? t.statusText : ""
                    })
                })) : d.getQQNick(t)
        }, showOnline: function (t, e, n) {
            var o = $("#login_nick,[data-type='nickname'],._nickname"), r = $("#login_action"), a = $("[data-type='avatar'],._avatar");
            try {
                "string" == typeof t && (t = decodeURIComponent(t))
            } catch (s) {
            }
            if (t = t || d.getNick(), o.text(t), r.text(d.getConfig("logout_btn_text")), r.unbind("click"), r.bind("click", d.logout), "undefined" == typeof n) {
                var c = i.get(this.getConfig("nickCookie")), l = c.split("|");
                "" == c || l.length < 4 ? n = 1 : l[1] && l[1] == this.getUinOnly() && (n = "undefined" != typeof l[3] ? l[3] : 1)
            }
            if (a.size() > 0) {
                var u = new Image, f = d.removeHttp("string" == typeof e ? e : d.getAvatar());
                u.onload = function () {
                    a.each(function (t, e) {
                        var i = $(e), o = d.getValidAvatarSize(parseInt(i.attr("data-avatarsize"), 10)), r = f;
                        1 == n && (r = f.replace(/([\?&]?s=)40([&$])/, "$1" + o + "$2")), i.attr("src", r)
                    })
                }, u.src = f
            }
            var p = $("[data-type='account_type_logo']");
            if (p.size() > 0) {
                var h = $(".__account_type_qq"), g = $(".__account_type_wx");
                h.size() > 0 && g.size() > 0 && (d.isWxLogin() ? (h.addClass("none"), g.removeClass("none"), $(".__accout_type_name").html("微信账号:")) : (g.addClass("none"), h.removeClass("none"), $(".__accout_type_name").html("QQ账号:"))), p.show()
            }
        }, showNotLogin: function () {
            var t = $("#login_nick,_nickname"), e = $("#login_action");
            t.html(d.getConfig("logout_nick_html")), e.text(d.getConfig("login_btn_text")), e.unbind("click"), e.bind("click", d.openLogin), $("[data-type='account_type_logo']").hide()
        }, showMask: function (t, e, n, i, o) {
            var a, s = $("#" + t);
            if (i = "undefined" == typeof i || i, document.getElementById("mask_layer") ? $("#mask_layer").show() : ($("body").append('<div id="mask_layer" class="mask_layer"></div>'), 6 == r.ie && $("#mask_layer").css("height", document.documentElement.scrollHeight)), 0 != s.length) {
                if (i)if (d.showAtCenter(document.getElementById(t), e, n), 6 == r.ie || window != top) {
                    var c = window != top ? top : window, l = null;
                    $.isFunction(d.onHideMask) && d.onHideMask(), o = $.isFunction(o) ? o : u, a = function () {
                        clearTimeout(l), l = setTimeout(function () {
                            d.showAtCenter(document.getElementById(t), e, n), o()
                        }, 50)
                    }, d.onHideMask = function () {
                        $(c).unbind("scroll", a)
                    }, $(c).bind("scroll", a)
                } else s.css("position", "fixed");
                "function" == typeof d.onShowMask && d.onShowMask()
            }
        }, hideMask: function () {
            $("#mask_layer").hide(), $.isFunction(d.onHideMask) && d.onHideMask()
        }, innerLoginCss: function () {
            if (0 == $("link[href$='login_dialog.css']").size()) {
                var t = "//imgcache.gtimg.cn/tencentvideo_v1/vstyle/web/common/style/login_dialog.css?v=20160201&max_age=86400", e = document.createElement("link");
                e.setAttribute("type", "text/css"), e.setAttribute("rel", "stylesheet"), e.setAttribute("href", t), $("head")[0].appendChild(e)
            }
        }, getShiftCookies: function (t) {
            var e = null, n = null, o = [];
            if ("" != this.getSkey()) {
                var r = i.get(this.getConfig("nickCookie"));
                if ("" != r) {
                    var a = r.split("|");
                    if (e = {}, a[1] && (e.uin = a[1]), a[0])try {
                        e.nick = decodeURIComponent(a[0])
                    } catch (s) {
                        e.nick = a[0]
                    }
                    if (a[2]) {
                        var c = d.getValidAvatarSize(100);
                        e.head = decodeURIComponent(a[2]).replace(/([\?&]?s=)40([&$])/, "$1" + c + "$2")
                    }
                    e.type = "qq"
                }
            }
            e && o.push(e);
            var l = i.get(d.getConfig("wxNickCookie"));
            l && (n = {}, n.nick = decodeURIComponent(l), n.head = i.get(this.getConfig("wxHeadCookie")), n.type = "wx", n && o.push(n)), t(o)
        }, shiftLogin: function () {
            d.getShiftCookies(function (t) {
                d.innerLoginCss();
                for (var e = '<div class="popup_account" style="display:block;"><div id="login_shift" class="mod_pop mod_pop_account"><iframe src="about:blank" frameborder="0" class="iframe_mask_pop"></iframe><div class="mod_pop_hd"><a href="javascript:;" class="mod_pop_close">关闭</a></div><div class="mod_pop_bd"><h5 class="pop_bd_title">帐号管理</h5><ul class="account_list">', n = 0; n < t.length; n++)t[n].head || (t[n].head = d.getConfig("defaultHead")), e += '<li class="item _login_shift_item" data-type=' + t[n].type + '><div class="item_avatar"><img src="' + t[n].head + '" alt="头像" ><i class="icon_choice"></i><i class="icon_account_' + t[n].type + '"></i></div><div class="item_top"><h5 class="user_name">' + t[n].nick + "</h5></div>", t[n].uin && (e += '<div class="item_btm"><span class="account_id">' + t[n].uin + "</span></div>"), e += '<a href="javascript:;" class="btn_logout" data-type=' + t[n].type + ">删除账号</a></li>";
                e += '</ul><a href="javascript:;" class="btn_login_toggle">登录其他帐号</a></div></div></div>', $("body").append(e);
                var o = document.getElementById("login_shift"), r = 540, s = t.length > 1 ? 413 : 292;
                d.config.showMask && !a.useHtml5() ? d.showMask("login_shift", r, s) : d.showAtCenter(o, r, s), d.reportToBoss({oper: 30});
                var c = $("#login_shift");
                c.find(".mod_pop_close").unbind("click").bind("click", function (t) {
                    t.preventDefault(), c.remove(), d.hideMask(), d.reportToBoss({oper: 31})
                }), c.find(".btn_logout").unbind("click").bind("click", function (t) {
                    t.preventDefault(), t.stopPropagation();
                    var e = $(this);
                    d.reportToBoss({oper: 33});
                    var n = e.attr("data-type");
                    n == d.getLoginType() ? d.logout() : (d.deleteLoginAccount(n), c.remove(), d.hideMask())
                }), c.find(".btn_login_toggle").unbind("click").bind("click", function (t) {
                    t.preventDefault(), c.remove(), d.reportToBoss({oper: 34}), d.openLogin()
                });
                var l = c.find("._login_shift_item");
                l.unbind("click").bind("click", function (t) {
                    t.preventDefault(), l.removeClass("item_selected");
                    var e = $(this);
                    e.addClass("item_selected");
                    var n = e.attr("data-type");
                    n != d.getLoginType() && (i.set(d.getConfig("typeCookie"), n, location.host, "/", d.getConfig("cookieTime")), "qq" == n ? $.ajax({
                            url: d.config.qqLogin_cgi,
                            type: "get",
                            dataType: "jsonp",
                            success: function () {
                                d.reportToBoss({oper: 13, main_type: n}, !0), window.location.reload()
                            }
                        }) : d.refreshWxLogin(function () {
                            d.reportToBoss({oper: 13, main_type: n}, !0), window.location.reload()
                        }, !0)), c.remove(), d.hideMask(), d.reportToBoss({oper: 32})
                })
            })
        }, innerOpenloginHtml: function (t, e) {
            var n = '<div id="login_win" class="login_dialog"><iframe src="about:blank" frameborder="0" class="iframe_mask"></iframe><a href="javascript:void(0)" id="login_close" class="btn_close" title="关闭"><span class="btn_inner">关闭</span></a><div class="login_tab"><ul class="tab_list';
            e && (n += " tab_list_single"), n += '"><li class="list_item _list_item_qq" data-type="qq"><a href="javascript:void(0);" class="tab_item tab_item_qq"><span class="item_inner">QQ帐号登录</span></a></li><li class="list_item _list_item_wx" data-type="wx"><a href="javascript:void(0);" class="tab_item tab_item_wx"><span class="item_inner">微信帐号登录</span></a></li></ul></div><div class="login_cont"><div class="cont_inner cont_inner_qq"><div class="login_iframe login_iframe_qq"><iframe name="_login_frame_quick_" id="_login_frame_quick_" frameborder="no" scrolling="no" width="100%" height="100%" src="about:blank"></iframe></div>', e && (n += '<div class="login_iframe_change"><a class="change_link" href="javascript:;" data-type="wx">切换<span class="name">微信帐号</span>登录 &gt;&gt;</a></div>'), n += '</div><div class="cont_inner cont_inner_wx"><div class="login_iframe login_iframe_wx"><label class="iframe_title">安全登录，防止被盗</label><iframe name="_login_frame_wechat_" id="_login_frame_wechat_" frameborder="no" scrolling="no" width="100%" height="100%" src="about:blank"></iframe>', d.config.wxLoginTxt && (n += '<p class="iframe_tips">' + d.config.wxLoginTxt + "</p>"), n += "</div>", e && (n += '<div class="login_iframe_change"><a class="change_link" href="javascript:;" data-type="qq">切换<span class="name">QQ帐号</span>登录 &gt;&gt;</a></div>'), n += "</div></div></div>", $("body").append(n);
            var i = $("#login_win");
            i.find("._list_item_" + t).addClass("current"), i.find(".cont_inner_" + t).addClass("cont_inner_in"), "wx" == t ? d.innerSetWxSrc() : d.innerSetQqSrc(), e ? i.find(".change_link").unbind("click").bind("click", function (t) {
                    t.preventDefault();
                    var e = $(this).attr("data-type");
                    "wx" == e ? d.innerSetWxSrc() : d.innerSetQqSrc(), i.find(".current").removeClass("current"), i.find("._list_item_" + e).addClass("current"), i.find(".cont_inner_in").removeClass("cont_inner_in"), i.find(".cont_inner_" + e).addClass("cont_inner_in"), d.reportToBoss({
                        oper: 27,
                        main_type: e
                    })
                }) : i.find(".list_item").unbind("click").bind("click", function (t) {
                    t.preventDefault();
                    var e = $(this), n = e.attr("data-type");
                    "wx" == n ? d.innerSetWxSrc() : d.innerSetQqSrc(), i.find(".current").removeClass("current"), i.find("._list_item_" + n).addClass("current"), i.find(".cont_inner_in").removeClass("cont_inner_in"), i.find(".cont_inner_" + n).addClass("cont_inner_in"), d.reportToBoss({
                        oper: 22,
                        main_type: n
                    })
                }), $("#login_close").unbind("click").bind("click", function (t) {
                t.preventDefault(), $("#login_win").remove(), d.isOpend = !1, d.hideMask(), d.reportToBoss({oper: 21}), d.onLoginCancel(), d.onCloseLogin();
                var e = d.getConfig("rejectLogin");
                "function" == typeof e && e()
            })
        }, getFullUrl: function (t) {
            return t && 0 != t.length ? 0 == t.indexOf("http") ? t : window.location.protocol + t : t
        }, innerSetQqSrc: function () {
            if (d.config.loadQqIframe) {
                var t = d.getFullUrl(d.config.jumpurl), e = d.getFullUrl(d.config.clientjumpurl), n = d.getFullUrl(d.getPtloginUrl()), i = (d.getFullUrl("//i.gtimg.cn/qqlive/images/20130521/i1369106644_1.jpg?max_age=6048000"), "");
                window.__j_url = e, n += "&style=20&hln_logo=" + encodeURIComponent(i);
                var o = [n, "&hide_close_icon=1&appid=", d.config.appid, "&f_url=loginerroralert&qlogin_auto_login=0", "&s_url=", escape(d.getFullUrl("//v.qq.com/toolpages/redirect.html?clientjumpurl=") + escape(e || window.location.href) + "&jumpurl=" + t)].join("");
                $("#_login_frame_quick_").attr("src", o), d.config.loadQqIframe = !1
            }
        }, innerSetWxSrc: function () {
            if (d.config.loadWxIframe) {
                var t = d.getFullUrl("//open.weixin.qq.com/connect/qrconnect?appid=") + d.config.wxAppid, e = [t, "&redirect_uri=", escape(d.getFullUrl(d.config.wxLogin_cgi)), "&response_type=code&scope=snsapi_login&state=111&href=", escape(d.getFullUrl("//imgcache.gtimg.cn/tencentvideo_v1/vstyle/web/common/style/iframe_login_wx.css"))].join("");
                $("#_login_frame_wechat_").attr("src", d.config.wxLoginUrl ? d.getFullUrl(d.config.wxLoginUrl) : e), d.config.loadWxIframe = !1
            }
        }, openTypeTipDlg: function (t) {
            if (!document.getElementById("login_win_type")) {
                var e = '<div id="login_win_type" class="login_dialog"><iframe src="about:blank" frameborder="0" class="iframe_mask"></iframe><a href="javascript:;" class="btn_close" title="关闭"><span class="btn_inner">关闭</span></a><div class="login_tab"><div class="tab_title"><span class="title_inner">选择登录帐号类型</span></div></div><div class="login_cont"><div class="cont_inner cont_inner_in"><div class="login_choose"><div class="login_avatar"><i class="ico_avatar"></i></div><div class="login_btns"><a href="javascript:;" class="btn_qq _login_type_item" data-type="qq"><span class="btn_inner">QQ登录</span></a><a href="javascript:;" class="btn_weixin _login_type_item" data-type="wx""><span class="btn_inner">微信登录</span></a></div></div></div></div></div>';
                $("body").append(e);
                var n = document.getElementById("login_win_type"), i = 622, o = 418;
                d.config.showMask && !a.useHtml5() ? d.showMask("login_win_type", i, o) : d.showAtCenter(n, i, o);
                var r = $("#login_win_type");
                r.find(".btn_close").unbind("click").bind("click", function (t) {
                    t.preventDefault(), r.remove(), d.hideMask(), d.onLoginCancel(), d.onCloseLogin(), d.reportToBoss({oper: 25})
                }), r.find("._login_type_item").unbind("click").bind("click", function (e) {
                    e.preventDefault(), r.remove();
                    var n = $(this).attr("data-type");
                    d.reportToBoss({oper: 24, main_type: n}), d.innerOpenlogin(t, n), d.setRememberType(n)
                }), d.reportToBoss({oper: 23})
            }
        }, openLoginSingle: function (t, e) {
            e || (e = d.getLoginType()), e = e || "qq", d.innerLoginCss(), d.innerOpenlogin(t, e, !0), d.reportToBoss({
                oper: 26,
                main_type: e
            })
        }, openLogin: function (t, e) {
            if (d.innerLoginCss(), "qq" == e || "wx" == e) d.innerOpenlogin(t, e); else {
                var n = i.get(d.getConfig("rememberTypeCookie"));
                n && n.length > 0 ? d.innerOpenlogin(t, n) : d.openTypeTipDlg(t)
            }
            d.reportToBoss({oper: 20, main_type: e})
        }, setRememberType: function (t) {
            i.set(d.getConfig("rememberTypeCookie"), t, location.host, "/", 175200)
        }, innerOpenlogin: function (t, e, n) {
            d.isOpend = !0, $.extend(d.config, t), d.setConfig(t), d.config.loadWxIframe = !0, d.config.loadQqIframe = !0;
            var i, r = 622, s = 418;
            if (null == document.getElementById("login_win") && d.innerOpenloginHtml(e, n), i = document.getElementById("login_win"), !i)return void setTimeout(function () {
                d.openLogin(t)
            }, 50);
            i.style.display = "none", d.config.showMask && !a.useHtml5() ? d.showMask("login_win", r, s) : d.showAtCenter(i, r, s);
            try {
                d.isLogin() && "" != d.getSkey() && o.button("LOGIN.UIN_OPEN")
            } catch (c) {
            }
            d.onOpenLogin()
        }, getPtloginUrl: function () {
            var t = "//xui.ptlogin2.qq.com/cgi-bin/xlogin?link_target=blank&target=self";
            return this.getConfig("useStrictLogin") || (t += "&low_login=1"), t
        }, showAtCenter: function (t, e, n) {
            a.showAtCenter(t, e, n)
        }, deleteLoginAccount: function (t) {
            "wx" == t ? (i.set(d.getConfig("wxNickCookie"), "", location.host, "/", -24), i.set(d.getConfig("wxHeadCookie"), "", location.host, "/", -24)) : (t = "qq", i.set(d.getConfig("nickCookie"), "", location.host, "/", -24), i.set(d.getConfig("encuinCookie"), "", location.host, "/", -24), 0 == d.getConfig("useStrictLogin") && (i.set(d.getConfig("luinCookie"), "", ".qq.com", "/", -24), i.set("lskey", "", ".qq.com", "/", -24)), i.set("skey", "", ".qq.com", "/", -24)), $.ajax({
                url: d.config.wxLogout_cgi + "?clear=0&type=" + t,
                type: "get",
                dataType: "jsonp",
                timeout: 1e4,
                success: function (t) {
                }
            })
        }, clearLoginCookie: function (t, e, n) {
            e = e || d.getLoginType(), "wx" == e ? (i.set(d.getConfig("wxNickCookie"), "", location.host, "/", -24), i.set(d.getConfig("wxHeadCookie"), "", location.host, "/", -24), i.set("access_token", "", location.host, "/", -24), i.set("openid", "", location.host, "/", -24), i.set("appid", "", location.host, "/", -24), i.set("vuserid", "", location.host, "/", -24), i.set("vusession", "", location.host, "/", -24)) : (e = "qq", i.set(d.getConfig("nickCookie"), "", location.host, "/", -24), i.set(d.getConfig("encuinCookie"), "", location.host, "/", -24), 0 == d.getConfig("useStrictLogin") && (i.set(d.getConfig("luinCookie"), "", ".qq.com", "/", -24), i.set("lskey", "", ".qq.com", "/", -24), i.set("luin", "", ".qq.com", "/", -24)), i.set("skey", "", ".qq.com", "/", -24)), i.set(d.getConfig("typeCookie"), "", location.host, "/", -24), $.ajax({
                url: d.config.wxLogout_cgi + "?clear=1&type=" + e,
                type: "get",
                dataType: "jsonp",
                timeout: 1e4,
                success: function () {
                    d.showNotLogin(), ("boolean" != typeof t || t) && d.onClearLoginStatus(), n && n()
                }
            })
        }, logout: function (t) {
            d.reportToBoss({oper: 12}), d.clearLoginCookie(!0, null, function () {
                "function" == typeof d.getConfig("logout") && d.getConfig("logout")(t), d.onLogout(t)
            })
        }, removeHttp: function (t) {
            return t.replace(/^http\:/, "")
        }
    }), p.init();
    var d = p;
    $.extend(d, {
        config: {
            typeCookie: "main_login",
            cookieTime: 720,
            rememberTypeCookie: "login_remember",
            wxAppid: "wx5ed58254bc0d6b7f",
            wxNickCookie: "wx_nick",
            wxHeadCookie: "wx_head",
            wxLoginUrl: "",
            wxLoginTxt: "",
            wxCookieUrl: "//video.qq.com/getcookie/getcookie.html",
            wxGetCookie_cgi: "//video.qq.com/fcgi-bin/get_cookie",
            wxLogin_cgi: "//video.qq.com/fcgi-bin/wx_login?from=1",
            wxRefresh_cgi: "//video.qq.com/fcgi-bin/check_login",
            wxLogout_cgi: "//video.qq.com/fcgi-bin/logout",
            loadWxIframe: !0,
            loadQqIframe: !0,
            qqLogin_cgi: "//video.qq.com/fcgi-bin/qq_login",
            defaultHead: "//imgcache.gtimg.cn/tencentvideo_v1/vstyle/web/v3/style/images/default_avatar.png",
            userInfo_cgi: "//video.qq.com/fcgi-bin/get_user_profile",
            appid: "532001601",
            uinCookie: "uin",
            luinCookie: "luin",
            encuinCookie: "encuin",
            nickCookie: "lw_nick",
            quickLogin: !0,
            jumpurl: "",
            clientjumpurl: null,
            showMask: !0,
            success: null,
            logout: null,
            rejectLogin: null,
            login_cgi: "//c.video.qq.com/cgi-bin/login?otype=json&nes=1",
            renew_skey: "//uple.qq.com/?t=aio_page&op=renew",
            show_uniq: !1,
            show_content: "",
            login_btn_text: "登录",
            logout_btn_text: "[退出]",
            logout_nick_html: "",
            hasReady: !1,
            disLogCallback: !1,
            useStrictLogin: !1,
            avatarSize: [40, 100]
        }, init: function (t, e) {
            e = !!e, $.extend(this.config, t), this.setConfig(this.config), d.getWxCookies(function (t) {
                t && t.main_login && (i.set(d.getConfig("typeCookie"), t.main_login, location.host, "/", d.getConfig("cookieTime")), "wx" == t.main_login && (t.access_token ? (i.set("access_token", t.access_token, location.host, "/", d.getConfig("cookieTime")), i.set("openid", t.openid, location.host, "/", d.getConfig("cookieTime")), i.set("vuserid", t.vuserid, location.host, "/", d.getConfig("cookieTime")), i.set("vusession", t.vusession, location.host, "/", d.getConfig("cookieTime")), i.set("appid", t.appid, location.host, "/", d.getConfig("cookieTime"))) : (i.set(d.getConfig("wxNickCookie"), "", location.host, "/", -24), i.set(d.getConfig("wxHeadCookie"), "", location.host, "/", -24), i.set("access_token", "", location.host, "/", -24), i.set("openid", "", location.host, "/", -24), i.set("appid", "", location.host, "/", -24), i.set("vuserid", "", location.host, "/", -24), i.set("vusession", "", location.host, "/", -24)))), d.setStatus(e, !1)
            }), d.checkQQUin(), $(document).delegate("[data-type='logout']", "click", function (t) {
                t.preventDefault(), d.logout()
            }).delegate("[data-type='login']", "click", function (t) {
                t.preventDefault(), d.clearLoginCookie(), d.openLogin()
            }), d.renew_skey()
        }
    }), d.setConfig(d.config), function () {
        var t = $.isFunction(window.ptlogin2_onResize) ? window.ptlogin2_onResize : $.noop, e = $.isFunction(window.ptlogin2_onClose) ? window.ptlogin2_onClose : $.noop, n = $.isFunction(window.ptlogin2_onSuccess) ? window.ptlogin2_onSuccess : $.noop, i = $.isFunction(window.__rdt__) ? window.__rdt__ : $.noop;
        window.ptlogin2_onResize = function (e, n) {
            e < 10 || n < 10 || (document.getElementById("_login_frame_quick_").style.height = n + "px", document.getElementById("_login_frame_quick_").style.width = e + "px", t(e, n))
        }, window.ptlogin2_onClose = function (t) {
            var n = d.getConfig("rejectLogin");
            $("#login_win").remove(), d.isOpend = !1, d.hideMask(), t ? ptlogin2_onSuccess() : ("function" == typeof n && n(), d.setConfig("success", null), d.onLoginCancel()), d.onCloseLogin(), e(t)
        }, window.ptlogin2_onSuccess = function () {
            d.checkQQUin(), d.setStatus(!0, !0, "qq"), n()
        }, window.__rdt__ = function () {
            if (__j_url)for (; __j_url.indexOf("%") != -1 && __j_url.indexOf("?") == -1;)__j_url = unescape(__j_url); else window.location.reload();
            window.location.href = __j_url, i()
        }, window.wxlogin_onSuccess = function (t) {
            $("#login_win").remove(), d.isOpend = !1, d.hideMask(), d.onCloseLogin(), d.setStatus(!0, !1, "wx", t)
        }
    }(), t.exports = d
}, function (t, e) {
    "use strict";
    t.exports = {
        set: function (t, e, n, i, o) {
            if (o) {
                var r = new Date, a = new Date;
                a.setTime(r.getTime() + 36e5 * o)
            }
            return document.cookie = t + "=" + e + "; " + (o ? "expires=" + a.toGMTString() + "; " : "") + (i ? "path=" + i + "; " : "path=/; ") + (n ? "domain=" + n + ";" : "domain=" + window.location.host + ";"), !0
        }, get: function (t, e) {
            var n = new RegExp("(?:^|;+|\\s+)" + t + "=([^;]*)"), i = (e || document.cookie).match(n);
            return i ? i[1] : ""
        }, del: function (t, e, n) {
            var i = new Date;
            i.setTime(i.getTime() - 1), document.cookie = t + "=; expires=" + i.toGMTString() + ";" + (n ? "path=" + n + "; " : "path=/; ") + (e ? "domain=" + e + ";" : "domain=" + window.location.host + ";")
        }
    }
}, function (t, e, n) {
    var i = {
        jspath: "//pingjs.qq.com/ping_video.js",
        isBusy: !1,
        comscorePath: "https:" == location.protocol ? "https://sb.scorecardresearch.com/beacon.js" : "http://b.scorecardresearch.com/beacon.js",
        comscoreParam: {c1: 2, c2: 6036207},
        keyPrefix: "ISD.LIVEWEB.",
        initPGVGlobalParam: function () {
            pgvVirtualDomain = "", pvCurDomain = "", pvCurUrl = ""
        },
        hot: function (t) {
            function e() {
                i.isBusy = !1, i.initPGVGlobalParam(), pgvSendClick({hottag: i.keyPrefix + t})
            }

            "function" == typeof pgvSendClick ? e() : i.isBusy ? setTimeout(function () {
                        i.hot(t)
                    }, 20) : (i.isBusy = !0, $.ajax({
                        url: i.jspath,
                        success: e,
                        error: i.errReport,
                        dataType: "script"
                    }))
        },
        button: function (t, e, n) {
            function o() {
                if (i.isBusy = !1, "undefined" == typeof e) {
                    var o = t, r = t.split(".");
                    r.length > 0 && (o = r[0]), o += ".html", e = "/virtualpage/" + o
                }
                i.initPGVGlobalParam(), "function" == typeof pgvSendClick && ("undefined" != typeof n ? pgvSendClick({
                        hottag: i.keyPrefix + t,
                        virtualURL: e,
                        virtualDomain: n
                    }) : pgvSendClick({hottag: i.keyPrefix + t, virtualURL: e}))
            }

            "string" == typeof t && ("function" == typeof pgvSendClick ? o() : i.isBusy ? setTimeout(function () {
                        i.button(t, e, n);
                    }, 20) : (i.isBusy = !0, $.ajax({
                        url: i.jspath,
                        success: o,
                        error: i.errReport,
                        dataType: "script"
                    })))
        },
        senseParam: null,
        pv: function (t) {
            var e = {};
            e["v.qq.com"] = !0, e["film.qq.com"] = !0, e["3g.v.qq.com"] = !0, e["m.v.qq.com"] = !0, e["videopage.qzone.qq.com"] = !0, e["cache.tv.qq.com"] = !0, e["imgcache.qq.com"] = !0, e["piao.v.qq.com"] = !0, e["ticket.v.qq.com"] = !0;
            var o = n(8);
            e[location.host] && "undefined" != typeof o && o.report();
            var r = {};
            r["v.qq.com"] = !0, r["boke.qq.com"] = !0, r["cache.tv.qq.com"] = !0, r["play.v.qq.com"] = !0, r["imgcache.qq.com"] = !0, r["sns.video.qq.com"] = !0, r["piao.v.qq.com"] = !0, r["ticket.v.qq.com"] = !0, r[location.host] && (i.pv_irt(), i.pv_comscore()), i.pv_pgv(t)
        },
        pv_pgv: function (t) {
            function e() {
                if (n.isBusy = !1, n.initPGVGlobalParam(), "undefined" != typeof pgvVirtualURL && (pgvVirtualURL = ""), "undefined" != typeof pvRepeatCount && (pvRepeatCount = 1), t || n.senseParam) {
                    var e = {};
                    n.senseParam && $.extend(e, {senseParam: n.senseParam}), t && ($.extend(e, t), t.virtualURL && (pvCurUrl = t.virtualURL)), "function" == typeof pgvMain && pgvMain("", e)
                } else"function" == typeof pgvMain && pgvMain()
            }

            t = t || {}, top != window && (t.statIframe = !0);
            var n = this;
            "function" == typeof pgvMain ? e() : n.isBusy ? setTimeout(function () {
                        n.pv_pgv(t)
                    }, 20) : (n.isBusy = !0, $.ajax({
                        url: n.jspath,
                        success: e,
                        error: n.errReport,
                        dataType: "script"
                    }))
        },
        pv_irt: function () {
            var t = n(13);
            "undefined" != typeof t && t.init("")
        },
        pv_comscore: function () {
            var t = this, e = n(6);
            setTimeout(function () {
                $.getScript(t.comscorePath, function () {
                    "undefined" == typeof t.comscoreParam.c10 && (t.comscoreParam.c10 = e.get("pvid"));
                    try {
                        COMSCORE.beacon(t.comscoreParam)
                    } catch (n) {
                        t.button("comscore.error")
                    }
                })
            }, 2e3)
        },
        watch: function () {
            var t = this;
            $("body").on("click", function () {
                "function" == typeof pgvWatchClick && (t.initPGVGlobalParam(), pgvWatchClick())
            })
        },
        performance: function (t, e, n) {
            var i = window.performance || window.msPerformance || window.webkitPerformance;
            if (i) {
                i = i.timing;
                var o = [], r = i.domainLookupStart;
                o[0] = i.domainLookupEnd, o[1] = i.requestStart, o[2] = i.responseStart, o[3] = i.responseEnd, o[4] = i.domComplete, o[5] = i.loadEventEnd;
                for (var a = [["//isdspeed.qq.com/cgi-bin/r.cgi?flag1=", t, "&flag2=", e, "&flag3=", n].join("")], s = 0, c = o.length; s < c; s++)o[s] && a.push(s + 1 + "=" + (o[s] - r));
                window._speed_img = new Image, window._speed_img.src = a.join("&")
            }
        },
        errReport: function () {
            var t = this;
            setTimeout(function () {
                "undefined" == typeof window.pingjsReqImg && (window.pingjsReqImg = new Image), window.pingjsReqImg.src = ["http://rcgi.video.qq.com/web_report?cmd=2563", "&str1=", encodeURIComponent(t.jspath)].join(""), t.isBusy = !1
            }, 0)
        }
    };
    t.exports = i
}, function (t, e, n) {
    var i = (n(9), n(6)), o = n(11), r = n(12), a = {
        dm: location.hostname || location.host,
        idx: 1,
        hotKeyName: "_stat",
        report: function () {
            var t = this, e = t.dm, n = this.getPtag();
            "" != n && this.setCookiePtag("ptag", n, e);
            var r = 0, a = {
                "cache.tv.qq.com": 1,
                "imgcache.qq.com": 1,
                "film.qq.com": 2,
                "3g.v.qq.com": 3,
                "m.v.qq.com": 4
            };
            a[e] && (r = a[e]);
            var s = new Image;
            s.onerror = s.onload = s.onabort = function () {
            }, s.src = ["http://rcgi.video.qq.com/pv_report?", "refer=", encodeURIComponent(document.referrer), "&ptag=", i.get("ptag"), "&itype=", r, "&idx=", t.idx++, "&t=", (new Date).valueOf()].join(""), this.reportToBoss({
                BossId: 3487,
                Pwd: 745225177,
                itype: r,
                idx: t.idx,
                ptag: n,
                qtag: o.getQtag(),
                refer: document.referrer,
                url: document.URL || document.location.href
            }), t.idx++
        },
        reportToBoss: function (t) {
            window.location.href.indexOf("/cover/") > 0 && window.COVER_INFO && window.COVER_INFO.typeid > 0 && (t.type = window.COVER_INFO.typeid);
            var e = "//btrace.video.qq.com/kvcollect?", n = "";
            n = $.param(t);
            var i = [e, n, "&_=", Math.ceil(1e3 * Math.random())].join("");
            r(i)
        },
        getPtag: function () {
            for (var t = document.location.toString().toLowerCase(), e = this.dm, n = "", i = ["ptag", "adtag", "pgv_ref"], o = 0, r = i.length; o < r && !(n = a.getUrlParam(i[o], t)); o++);
            if (!n) {
                var s = this.getDomainOfURL(document.referrer);
                "" != s && e != s && (n = s.replace(/\./g, "_")), n || (n = this.getCookiePtag("ptag"))
            }
            return n
        },
        getDomainOfURL: function (t) {
            var e = "";
            if ("undefined" == typeof t || null == t || "" == t)return e;
            var n = /.*\:\/\/([^\/]*).*/, i = t.match(n);
            return "undefined" != typeof i && null != i && (e = i[1]), e
        },
        getCookiePtag: function (t) {
            t = t || "ptag";
            var e = i.get(t), n = e.split("|");
            return n[0]
        },
        setCookiePtag: function (t, e, n) {
            for (var o = i.get(t), r = o.split("|"), a = [e], s = 1, c = r.length; s < c; s++)a.push("|" + r[s]);
            i.set(t, a.join(""), n)
        },
        getUrlParam: function (t, e) {
            e = e || location.href;
            var n, i = new RegExp("[?&#]" + t + "=([^&#]+)", "gi"), o = e.match(i);
            return o && o.length > 0 ? (n = o[o.length - 1].split("="), n && n.length > 1 ? n[1] : "") : ""
        },
        initPageHotKey: function () {
            if ("function" == typeof $ && $.fn && $.fn.jquery) {
                var t = function (t) {
                    return t && 1 == t.nodeType
                };
                $(document).off("click", "a").on("click", "a", function (e) {
                    if (t(this)) {
                        for (var n = null, i = e.target; this != i && t(i);) {
                            if (i.getAttribute(a.hotKeyName)) {
                                n = i;
                                break
                            }
                            i = i.parentNode
                        }
                        n || this.getAttribute(a.hotKeyName) && (n = this), n && o.checkQtag(n, e)
                    }
                })
            }
        },
        getCurPageType: function (t) {
            if ("string" == typeof PAGEHOT)return PAGEHOT;
            var e = "others";
            return "undefined" == typeof txv ? e : (window.COVER_INFO && window.COVER_INFO.typeid > 0 && (e = window.COVER_INFO.typeid), e)
        },
        bindBtnTj: function () {
            $("._hotkey").bind("click", function () {
                a.btnTj(this.getAttribute(a.hotKeyName))
            })
        },
        btnTj: function (t) {
            "string" == typeof t && (t = t.replace("{pagetype}", a.getCurPageType())), n(7).button(t)
        },
        initPtag: function () {
            var t = this.dm, e = this.getPtag();
            "" != e && this.setCookiePtag("ptag", e, t)
        }
    };
    a.initPtag(), t.exports = a
}, function (module, exports, __webpack_require__) {
    var lazyreport = function () {
        var reg = /^(?:(?:ht|f)tp(?:s)?\:)?\/\/(?:[\w\-\.]+)\.\w+/i, mydomain = location.hostname || location.host, k = "txv_lazyreport_list", d = "|", Cookie = __webpack_require__(6), cookieMode = {
            get: function (t) {
                return Cookie.get(t)
            }, set: function (t, e) {
                return Cookie.set(t, e, mydomain)
            }, clear: function (t) {
                return Cookie.set(t, "", mydomain)
            }
        }, sessionStorageMode = {
            isSupport: window.sessionStorage, get: function (t) {
                return sessionStorage.getItem(t)
            }, set: function (t, e) {
                return sessionStorage.setItem(t, e)
            }, clear: function (t) {
                return sessionStorage.removeItem(t)
            }
        }, qzstorage = __webpack_require__(10), qzflStorageMode = {
            isSupport: !!qzstorage, get: function (t, e) {
                qzstorage.get(t, e)
            }, set: function (t, e) {
                qzstorage.set(t, e)
            }, clear: function (t) {
                this.set(t, "")
            }
        }, mode = function () {
            if (qzflStorageMode.isSupport) {
                var t = qzflStorageMode;
                return {get: t.get, set: t.set, clear: t.clear}
            }
            if (sessionStorageMode.isSupport) {
                var e = sessionStorageMode;
                return {
                    get: function (t, n) {
                        var i = e.get(t);
                        return n(i), i
                    }, set: e.set, clear: e.clear
                }
            }
            var n = cookieMode;
            return {
                get: function (t, e) {
                    var i = n.get(t);
                    return e(i), i
                }, set: n.set, clear: n.clear
            }
        }(), _imgreport = function (t, e) {
            var n = new Image;
            n.onload = n.onerror = n.onabort = function () {
                delete n, e()
            }, n.src = t
        }, clear = function () {
            return mode.clear(k)
        }, val = function (t) {
            mode.get(k, function (e) {
                t(e)
            })
        }, push = function (t) {
            mode.get(k, function (e) {
                e && e.length > 0 ? e += d + encodeURIComponent(t) : e = encodeURIComponent(t), mode.set(k, e)
            })
        }, shift = function (t) {
            mode.get(k, function (e) {
                if (e) {
                    var n = e.split(d), i = n.shift();
                    mode.set(k, n.join(d)), t(decodeURIComponent(i))
                }
            })
        }, reportItem = function (item, cb) {
            reg.test(item) ? setTimeout(function () {
                    _imgreport(item, cb)
                }, 0) : setTimeout(function () {
                    try {
                        eval(item), cb()
                    } catch (e) {
                    }
                }, 0)
        }, report = function () {
            shift(function (t) {
                t && reportItem(t, function () {
                    report()
                })
            })
        };
        return {push: push, clear: clear, report: report}
    }();
    module.exports = lazyreport
}, function (t, e) {
    var n = "undefined" != typeof window.localStorage, i = {
        isSupport: n, get: function (t, e) {
            try {
                var n = localStorage.getItem(t);
                return "function" == typeof e && e(n), n
            } catch (i) {
                return "function" == typeof e && e(""), ""
            }
        }, set: function (t, e) {
            try {
                return localStorage.setItem(t, e), !0
            } catch (n) {
                return !1
            }
        }, remove: function (t) {
            try {
                localStorage.removeItem(t)
            } catch (e) {
            }
        }, clear: function () {
            localStorage.clear()
        }
    };
    t.exports = i
}, function (t, e, n) {
    QTAG_SET_FLAG = !1;
    var i = n(6), o = {
        dm: location.hostname || location.host,
        hotKeyName: "_stat",
        qtagName: "_qtag",
        init: function () {
            var t = this, e = n(8), i = e.getDomainOfURL(document.referrer);
            t.dm != i && t.clearCookieQtag(), $(document).undelegate("[" + this.qtagName + "]", "click").delegate("[" + this.qtagName + "]", "click", function (e) {
                var n = QTAG_SET_FLAG, i = $(this);
                if (!n) {
                    var o = i.attr(this.qtagName);
                    o && "" != o && (t.setCookieQtag(o), QTAG_SET_FLAG = !0)
                }
            }), $("body").on("click", function (e) {
                var n = QTAG_SET_FLAG;
                if (!n && t.checkLinkTag(e, this)) {
                    var i = t.getDefaultQtag();
                    t.setCookieQtag(i)
                }
                QTAG_SET_FLAG = !1
            })
        },
        getQtag: function (t, e) {
            for (var n = this, i = t, o = document, r = ""; o != i && i && 1 == i.nodeType;) {
                var a = $(i), s = a.attr(n.qtagName);
                if (s && "" != s || (s = a.attr(n.hotKeyName)), s && "" != s) {
                    r = s;
                    break
                }
                i = i.parentNode
            }
            return "" == r && (r = n.getDefaultQtag()), r
        },
        checkQtag: function (t, e) {
            if (!QTAG_SET_FLAG) {
                var n = $(t), i = n.attr(o.qtagName);
                if (i && "" != i)return o.setCookieQtag(i), void(QTAG_SET_FLAG = !0);
                var r = n.attr(o.hotKeyName);
                r && "" != r && (o.setCookieQtag(r), QTAG_SET_FLAG = !0)
            }
        },
        getCookieQtag: function () {
            var t = i.get("ptag"), e = t.split("|");
            return e.length < 2 ? "" : e[1]
        },
        setCookieQtag: function (t) {
            var e = "ptag", n = this, o = i.get(e), r = o.split("|"), a = [r[0], "|" + t];
            if (r.length > 2)for (var s = 2, c = r.length; s < c; s++)a.push("|" + r[s]);
            i.set(e, a.join(""), n.dm)
        },
        getDefaultQtag: function () {
            var t = location.pathname;
            if (t.length < 1 || "/" == t)return location.hostname.replace(/\./g, "_");
            var e = t.indexOf("/", 1);
            return e == -1 ? t.substring(1) : t.substring(1, e)
        },
        clearCookieQtag: function () {
            var t = "ptag", e = this, n = i.get(t), o = n.split("|");
            if (o.length > 1) {
                for (var r = [o[0]], a = 2, s = o.length; a < s; a++)r.push("|" + o[a]);
                i.set(t, r.join(""), e.dm)
            }
        },
        checkLinkTag: function (t, e) {
            var n = t.target;
            if ("A" == n.tagName || "A" == e.tagName)return !0;
            for (; e != n && n && 1 == n.nodeType;) {
                if ("A" == n.tagName)return !0;
                n = n.parentNode
            }
            return !1
        }
    };
    t.exports = o
}, function (t, e) {
    var n = function () {
        function t() {
            return 0 == r.length ? (i = !0, void(o = null)) : (a("error:" + r[0]), e(r.splice(0, 1)), void(i = !1))
        }

        function e(e) {
            o = document.createElement("img"), o.onerror = t, o.src = e
        }

        function n(t) {
            return t && /^(?:(?:ht|f)tp(?:s)?\:)?\/\/(?:[\w\-\.]+)\.\w+/i.test(t) ? null == o ? (a("first:" + t), e(t), void(i = !1)) : i ? (a("free:" + t), e(t), void(i = !1)) : (a("ready::" + t), void r.push(t)) : void a("error")
        }

        var i = !0, o = null, r = [], a = function () {
            var t = !!window.console && "function" == typeof window.console.log && location.href.indexOf("debug=true") != -1;
            return function (e) {
                t && window.console.log(e)
            }
        }();
        return function (t, e) {
            if ("string" == typeof t) {
                if ("object" == $.type(e)) {
                    var i = [];
                    for (var o in e)i.push(o + "=" + encodeURIComponent("" + e[o]));
                    t += t.indexOf("?") > -1 ? "&" + i.join("&") : "?" + i.join("&")
                }
                n(t)
            }
        }
    }();
    t.exports = n
}, function (t, e) {
    var n = {
        version: "0.0.7",
        dataHandler: "//tj.video.qq.com/fcgi-bin/set_cookie?otype=json&",
        dataHandler_video: "//tj.video.qq.com/fcgi-bin/set_cookie?otype=json&",
        _account: "",
        _u_eventid: "",
        _debug: !1,
        init: function (t) {
            this._account = t, this._track()
        },
        _trackStart: function (t) {
            return t.indexOf("-") < 0 ? "invalid user identify." : (this.init(t), this)
        },
        _track: function () {
            this._feedBack()
        },
        record_video_api: function (t, e, n, i) {
            return i + "" == "0" ? (this._u_eventid = Math.abs(parseInt((navigator.userAgent ^ (new Date).getTime()) * Math.random())) + t, void this._feedBack_video(t, e, n, i)) : void this._feedBack_video(t, e, n, i)
        },
        _feedBack: function () {
            var t = Array("id=" + this._account, "pt=" + encodeURIComponent(document.title), "dm=" + encodeURIComponent(window.location.host), "pa=" + encodeURIComponent(window.location.pathname), "sr=" + document.body.clientWidth + "x" + document.body.clientHeight, "ul=" + (navigator.language || "zh-CN"), "tv=" + this.version, "r=" + (new Date).getTime(), "url=" + encodeURIComponent(window.location.href), "ua=" + encodeURIComponent(navigator.userAgent.toString())).join("&"), e = this.dataHandler + t;
            this._img = new Image, this._img.src = e
        },
        _feedBack_video: function (t, e, n, i) {
            var o = Array("ta=" + i, "eid=" + this._u_eventid, "pt=" + encodeURIComponent(document.title), "vid=" + t, "du=" + e, "la=" + encodeURIComponent(n), "r=" + (new Date).getTime()).join("&"), r = this.dataHandler_video + o;
            this._img = new Image, this._img.src = r
        }
    };
    t.exports = n
}, function (t, e) {
    var n, i, o, r = {}, a = navigator.userAgent, s = (navigator.appVersion, {});
    if (r.adjustBehaviors = function () {
        }, window.ActiveXObject) {
        if (r.ie = 6, document.documentMode && (r.ie = document.documentMode), r.isBeta = navigator.appMinorVersion && navigator.appMinorVersion.toLowerCase().indexOf("beta") > -1, r.ie < 7)try {
            document.execCommand("BackgroundImageCache", !1, !0)
        } catch (c) {
        }
        s._doc = document, o = function (t) {
            return function (e, n) {
                var i;
                return "function" == typeof e ? (i = Array.prototype.slice.call(arguments, 2), t(function () {
                        e.apply(null, i)
                    }, n)) : "string" == typeof e ? t(e, n) : void 0
            }
        }, window.setTimeout = s._setTimeout = o(s.nativeSetTimeout = window.setTimeout), window.setInterval = s._setInterval = o(s.nativeSetInterval = window.setInterval)
    } else document.getBoxObjectFor || "undefined" != typeof window.mozInnerScreenX ? (n = /(?:Firefox|GranParadiso|Iceweasel|Minefield).(\d+\.\d+)/i, r.firefox = parseFloat((n.exec(a) || n.exec("Firefox/3.3"))[1], 10)) : navigator.taintEnabled ? window.opera ? r.opera = parseFloat(window.opera.version(), 10) : /Trident\/\d+.+rv:(\d+\.\d+?)/i.test(a) ? r.ie = RegExp.$1 : r.ie = 6 : (i = /AppleWebKit.(\d+\.\d+)/i.exec(a), r.webkit = i ? parseFloat(i[1], 10) : document.evaluate ? document.querySelector ? 525 : 420 : 419, (i = /Chrome.(\d+\.\d+)/i.exec(a)) || window.chrome ? r.chrome = i ? parseFloat(i[1], 10) : "2.0" : ((i = /Version.(\d+\.\d+)/i.exec(a)) || window.safariHandler) && (r.safari = i ? parseFloat(i[1], 10) : "3.3"), r.air = a.indexOf("AdobeAIR") > -1 ? 1 : 0, r.isiPod = a.indexOf("iPod") > -1, r.isiPad = a.indexOf("iPad") > -1, r.isiPhone = a.indexOf("iPhone") > -1);
    (r.macs = a.indexOf("Mac OS X") > -1) || (r.windows = (i = /Windows.+?(\d+\.\d+)/i.exec(a), i && parseFloat(i[1], 10)), r.linux = a.indexOf("Linux") > -1, r.android = a.indexOf("Android") > -1), r.iOS = a.indexOf("iPhone OS") > -1, !r.iOS && (i = /OS (\d+(?:_\d+)*) like Mac OS X/i.exec(a), r.iOS = !(!i || !i[1])), t.exports = r
}, function (t, e) {
    var n = {
        getUrlParam: function (t, e) {
            e = e || location.href;
            var n, i = new RegExp("[?&#]" + t + "=([^&#]+)", "gi"), o = e.match(i);
            return o && o.length > 0 ? (n = o[o.length - 1].split("="), n && n.length > 1 ? n[1] : "") : ""
        }, addUrlParam: function (t, e) {
            e = e || document.URL || document.location.href;
            var n = e + "?";
            e.indexOf("?") > -1 && (n = e + "&");
            for (var i in t)if (this.getUrlParam(i, n)) {
                var o = new RegExp("([?&#]" + i + "=)([^&#]+)(.*?)", "i");
                n = n.replace(o, "$1" + t[i] + "$3")
            } else n = n + i + "=" + t[i] + "&";
            var r = n.length, a = n.charAt(r - 1);
            return "?" != a && "&" != a || (n = n.substring(0, r - 1)), n
        }, useHtml5: function () {
            var t = navigator.userAgent, e = !1;
            return $.each(["iPhone", "iPad", "iPod"], function (n, i) {
                e || t.indexOf(i) == -1 || (e = !0)
            }), this.getUrlParam("usehtml5") || e
        }, showAtCenter: function (t, e, n) {
            if (t) {
                var i = document.body.scrollTop;
                e = e || 373, n = n || 235, 0 == i && (i = document.documentElement.scrollTop);
                var o = document.documentElement.clientHeight;
                0 == o && (o = document.body.clientHeight), t.style.width = e + "px", t.style.height = n + "px", t.style.top = "50%", t.style.left = "50%", t.style.marginLeft = -e / 2 + "px", t.style.marginTop = -n / 2 + "px", t.style.position = "fixed", t.style.zIndex = "10001", t.style.display = "block", t.style.padding = "0px", t.style.backgroundColor = "#ffffff"
            }
        }, strToDate: function (t) {
            var e, n, i = /^(\d{4})-(\d{2})-(\d{2})(\s+?(\d{2}):(\d{2}):(\d{2}))?$/;
            return n = new Date(t), isNaN(n.getDate()) && $.isString(t) && (e = t.match(i)) && (n = e[4] && e[4].length > 0 ? new Date(parseInt(e[1], 10), parseInt(e[2], 10) - 1, parseInt(e[3], 10), parseInt(e[5], 10), parseInt(e[6], 10), parseInt(e[7], 10)) : new Date(parseInt(e[1], 10), parseInt(e[2], 10) - 1, parseInt(e[3], 10))), isNaN(n.getDate()) ? null : n
        }, getVideoSnap: function (t, e) {
            var n, i, o = 1e8;
            if (t.indexOf("_") > 0) {
                var r = t.split("_");
                t = r[0], e = parseInt(r[1])
            }
            for (var a = 4294967296, o = 1e8, s = 0, c = 0; c < t.length; c++) {
                var l = t.charCodeAt(c);
                s = 32 * s + s + l, s >= a && (s %= a)
            }
            return i = s % o, void 0 == e && (e = 0), n = 0 == e ? ["//vpic.video.qq.com/", i, "/", t, "_160_90_3.jpg"].join("") : ["//vpic.video.qq.com/", i, "/", t, "_", "160_90_", e, "_1.jpg"].join("")
        }, getFullUrlPath: function (t) {
            var e = window.location.host;
            return "sns.video.qq.com" != e && "play.v.qq.com" != e && "page.video.qq.com" != e || (e = "v.qq.com"), [window.location.protocol, "//", e, t].join("")
        }, getPrevUrl: function (t, e, n) {
            "undefined" != typeof n && n || (n = 0);
            var i = [n <= 2 ? "/prev/" : "/cover/", t.charAt(0), "/", t].join("");
            return i += e ? 2 == n ? "/" + e + ".html" : ".html?vid=" + e : ".html"
        }, getPlayUrl: function (t, e) {
            if (t = t || e, !t)return "";
            if (t.length > 0 && t === e)return this.getPlayUrl(t);
            if (15 == t.length) {
                var n = ["/cover/", t.charAt(0), "/", t, ".html"].join("");
                return e && (n += "?vid=" + e), n
            }
            return this.getVideoPlayUrl(t)
        }, getVideoPlayUrl: function (t) {
            return "string" != typeof t || t.length < 11 ? "" : ["/page/", t.substr(0, 1), "/", t.substr(9, 1), "/", t.substr(10, 1), "/", t, ".html"].join("")
        }, getDetailUrl: function (t, e) {
            e = e || 0;
            var n = "";
            return n = 0 == e || $.inArray(e, [1, 2, 98]) >= 0 ? "/detail/" : "/cover/", [n, t.charAt(0), "/", t, ".html"].join("")
        }, getBokePlayUrl: function (t) {
            return "string" != typeof t || t.length < 11 ? "" : ["/boke/page/", t.substr(0, 1), "/", t.substr(9, 1), "/", t.substr(10, 1), "/", t, ".html"].join("")
        }, formatTimeBySec: function (t, e, n, i) {
            if (isNaN(t) || "string" != $.type(e))return "";
            var o = {};
            return n = "boolean" != typeof n || n, i = "boolean" != typeof i || i, o.h = Math.floor(t / 3600), o.hh = o.h < 10 ? "0" + o.h : o.h, o.m = Math.floor(t / 60) - 60 * o.h, /{h+}/.test(e) || (o.m += 60 * o.h), o.mm = o.m < 10 ? "0" + o.m : o.m, o.s = t % 60, /{m+}/.test(e) || (o.s += 60 * o.m), o.ss = o.s < 10 ? "0" + o.s : o.s, o.h < 1 && !n && (e = e.replace(/{h+}[^{]+/, ""), o.m < 1 && (e = e.replace(/{m+}[^{]+/, ""))), o.s < 1 && !i && (e = e.replace(/{s+}[^{]+/, "")), e.replace(/{([smh]+)}/g, function (t, e) {
                return "undefined" == typeof o[e] ? t : o[e]
            })
        }, getCoverImgtagHtml: function (t, e) {
            var i = "", o = '<sup class="{param}">{text}</sup>', r = '<span class="{param}"><em class="mark_inner">{text}</em></span>', a = '<span class="{param}"><em class="mask_txt">{text}</em></span>', s = '<sup class="{param}">{text}</sup>';
            return e = e || [1, 2, 3, 4], t && (t.tag_3 && t.tag_3.id > 0 && $.inArray(3, e) != -1 && (i += n.format(a, t.tag_3)), t.tag_4 && t.tag_4.id > 0 && $.inArray(4, e) != -1 && (i += n.format(s, t.tag_4)), t.tag_1 && t.tag_1.id > 0 && $.inArray(1, e) != -1 && (i += n.format(o, t.tag_1)), t.tag_2 && t.tag_2.id > 0 && $.inArray(2, e) != -1 && (i += n.format(r, t.tag_2))), i
        }, format: function (t) {
            var e, i = Array.prototype.slice.call(arguments);
            t = String(i.shift()), 1 == i.length && "object" == typeof i[0] && (i = i[0]);
            var o = /\{([\d\w\.]+)\}/g;
            return t.replace(o, function (t, o) {
                return e = n.route(i, o), void 0 === e ? t : e
            })
        }, route: function (t, e) {
            t = t || {}, e = String(e);
            for (var n, i = /([\d\w_]+)/g; null !== (n = i.exec(e)) && (t = t[n[0]], void 0 !== t && null !== t););
            return t
        }, getCoverPic: function (t, e, n) {
            var i = "//i.gtimg.cn/qqlive/img/jpgcache/files/qqvideo/";
            return "string" == typeof t && (e = e || "", n = n || "", n.length > 0 && (n = "_" + n), i += [e, t.charAt(0), t + n + ".jpg"].join("/")), i
        }
    };
    t.exports = n
}, function (t, e, n) {
    var i = n(7), o = {
        virtualHost: "pgv.live.qq.com", virtualPath: "/liveweb/", pv: function (t) {
            i.initPGVGlobalParam(), i.pv_pgv({virtualDomain: o.virtualHost, virtualURL: [o.virtualPath, t].join("")})
        }
    };
    t.exports = o
}, function (t, e, n) {
    var i = n(18), o = function () {
        function t(t, e) {
            l = e ? e : "BackCompat" == document.compatMode ? document.body : document.documentElement, u = t || ["img", "iframe"]
        }

        function e() {
            for (var t = [], e = 0, n = u.length; e < n; e++)for (var o = $(u[e] + "[lz_src]"), r = 0, a = o.length; r < a; r++)t.push(o.get(r));
            for (var s = p.length, c = s, h = 0, n = t.length; h < n; h++)"object" == typeof t[h] && t[h].getAttribute("lz_src") && (p.push(t[h]), c++);
            for (var e = s; e < c; e++) {
                var g = p[e];
                g.style.visibility = "hidden";
                var v = Math.round(i.getXY(g)[1] - i.getXY(l)[1]);
                if (f[v]) f[v].push(e); else {
                    var m = [];
                    m[0] = e, f[v] = m, d++
                }
            }
        }

        function n() {
            var t = window.pageYOffset || l.scrollTop;
            return l.clientHeight + t
        }

        function o() {
            if (v++, !d)return void(m = !0);
            var t = n();
            if (h >= t)return void setTimeout(o, 200);
            h = t;
            for (var e in f)if (t > e) {
                for (var i, r = f[e], a = r.length, s = 0; s < a; s++)i = p[r[s]].getAttribute("lz_src"), p[r[s]].src = i, p[r[s]].removeAttribute("lz_src"), p[r[s]].style.visibility = "visible";
                delete f[e], d--
            }
            for (var e in g)if (t > e) {
                for (var r = g[e], a = r.length, s = 0; s < a; s++)r[s]();
                delete g[e], d--
            }
            setTimeout(o, 200)
        }

        function r(n, i) {
            t(n, i), e(), m = !1, setTimeout(function () {
                o()
            }, 0)
        }

        function a(t, e, n) {
            n = n || 0;
            var r = i.getXY(t)[1] + n;
            if (g[r]) g[r].push(e); else {
                var a = [];
                a[0] = e, g[r] = a, d++
            }
            h = 0, m && (m = !1, o())
        }

        function s(t) {
            h = t
        }

        function c() {
            f = {}, p = [], d = 0, h = -1, g = {}, v = 0, m = !0
        }

        var l, u, f = {}, p = [], d = 0, h = -1, g = {}, v = 0, m = !0;
        return {init: r, lazyFunc: a, getScreenShowHeight: n, reset: c, resetLastOffset: s}
    }();
    t.exports = o
}, function (t, e, n) {
    function i(t, e) {
        var n = 0, i = 0, s = e || document;
        if (t)if (s.documentElement.getBoundingClientRect && t.getBoundingClientRect) {
            var c = t.getBoundingClientRect(), l = t.ownerDocument, u = a.ie ? 2 : 0;
            n = c.top - u + o(l), i = c.left - u + r(l)
        } else for (; t.offsetParent;)n += t.offsetTop, i += t.offsetLeft, t = t.offsetParent;
        return [i, n]
    }

    function o(t) {
        var e = t || document;
        return Math.max(e.documentElement.scrollTop, e.body.scrollTop)
    }

    function r(t) {
        var e = t || document;
        return Math.max(e.documentElement.scrollLeft, e.body.scrollLeft)
    }

    var a = n(14);
    t.exports = {getXY: i, getScrollTop: o, getScrooLeft: r}
}, function (t, e, n) {
    var i = n(8), o = n(11), r = n(20), a = n(7), s = n(16);
    $.extend(i, {
        resetKey: function (t) {
            "object" == typeof t && (t.hotkey && (i.hotKeyName = o.hotKeyName = t.hotkey), t.qtag && (o.qtagName = t.qtag))
        }
    }), t.exports = {
        init: function (t) {
            if (i.initPageHotKey(), o.init(), r.init(), t && 1 == t.watch, t && t.tj2 && t.tj2.forbidden); else {
                var e = n(7);
                e.pv(t && t.tj2 ? t.tj2 : null)
            }
            var a = n(9);
            a && a.report()
        }, pv: a.pv, btnTj: i.btnTj, virtualpv: s.pv, getPtag: i.getCookiePtag, getQtag: o.getCookieQtag
    }
}, function (t, e, n) {
    var i = n(8), o = n(11), r = {
        conf: {selector: "a[data-openvip]", paramName: "aid"}, init: function (t) {
            $.extend(this.conf, t);
            var e = this.conf.paramName, n = new RegExp("([&|?]" + e + "=)(.+?)(&.+|$)");
            $(document).on("click", this.conf.selector, function (t) {
                var i = this.href, o = encodeURIComponent(r.getParam(this));
                n.test(i) ? i = i.replace(n, "$1" + o + "$3") : i += (i.indexOf("?") == -1 ? "?" : "&") + e + "=" + o, this.href = i
            }), window.__tencentplayer_getaidparam = function () {
                return r.getParam(document, "flash")
            }
        }, getParam: function (t, e) {
            return [i.getPtag(), o.getQtag(t) || e || "flash"].join("$$")
        }
    };
    t.exports = r
}, function (t, e, n) {
    var i = n(22), o = n(29), r = "_expose", a = !1;
    t.exports = {
        init: function (t) {
            t && t.boss && t.boss.app && t.boss.page && (i.setApp(t.boss.app), i.setPage(t.boss.page), i.bind(document.body, t.boss.clickName || "_stat"), i.pv(t.boss.page), t.boss.exposeName && (r = t.boss.exposeName), t.boss.isRecalc && (a = t.boss.isRecalc), this.refresh())
        }, refresh: function () {
            $("[" + r + "]").each(function () {
                var t = $(this), e = t.attr(r);
                t.attr("_" + r, e).removeAttr(r), a && o.set("throttle", 150);
                var n = o(this, {recalc: a}, function () {
                    i.event(e), setTimeout(function () {
                        n && n()
                    })
                })
            })
        }, click: i.click, expose: i.event
    }
}, function (t, e, n) {
    "use strict";
    function i() {
        return f || window.jQuery || window.$
    }

    function o(t, e) {
        return p.hot([v, "event", t, e].join(".")), this
    }

    function r(t, e, n) {
        return p.hot([v, "click", t, e, n].join(".")), this
    }

    function a(t) {
        return p.hot([v, "pageview", t].join(".")), this
    }

    function s(t) {
        return "array" !== d.type(t) ? "" : d.map(t, function (t) {
                return d.map(t, function (t) {
                    return encodeURIComponent(t)
                }).join(",")
            }).join("|")
    }

    function c(t) {
        return "string" != typeof t ? [] : d.map(t.split("|"), function (t) {
                return d.map(t.split(","), function (t) {
                    return decodeURIComponent(t)
                })
            })
    }

    function l(t, e) {
        switch (t) {
            case"click":
                r.apply(this, e);
                break;
            case"pageview":
                r.apply(this, e);
                break;
            case"event":
                r.apply(this, e)
        }
    }

    function u(t) {
        var e = Array.prototype.slice.call(arguments, 1);
        if (h)try {
            var n = localStorage.getItem(m);
            try {
                n = c(n)
            } catch (i) {
            }
            return "array" !== d.type(n) && (n = []), n.push([t].concat(e)), void localStorage.setItem(m, s(n))
        } catch (i) {
        }
        l(t, e)
    }

    var f, p = n(23), d = n(28), h = "localStorage" in window && null !== window.localStorage, g = "index", v = "boss_common", m = v + "_lazy_reports", _ = {
        click: function (t) {
            return r(g, t, "")
        }, event: function (t) {
            return o(g, t)
        }, pv: a, stat: function () {
            var t = Array.prototype.slice.call(arguments);
            return t.unshift(v), p.hot(t.join(".")), this
        }, setApp: function (t) {
            return v = t, m = t + "_lazy_reports", setTimeout(function () {
                _.flush()
            }, 1e3), this
        }, setPage: function (t) {
            return g = t, this
        }, setJQ: function (t) {
            return f = t, this
        }, bind2d: function (t, e, n) {
            var o = i();
            return o(t).on("click", "[" + n + "]", function (t) {
                for (var i, a = t.currentTarget, s = o(a).attr(n), c = 10; c && a && !(i = o(a).attr(e));)c--, a = a.parentNode;
                i && r(g, i, s)
            }), this
        }, bind: function (t, e) {
            var n = i();
            return n(t).on("click", "[" + e + "]", function (t) {
                var i = t.currentTarget, o = n(i), a = o.attr(e);
                if ("A" == i.tagName) {
                    var s = o.attr("href"), c = o.attr("target"), l = (s || "").match(/^([a-zA-Z]+)\:/);
                    if (l = l ? l[1] : "", !/^(javascript:|#)/.test(s) && !c && (!l || /^https?$/.test(l)))return void u("click", g, a, "")
                }
                r(g, a, "")
            }), this
        }, flush: function () {
            if (localStorage)try {
                var t = localStorage.getItem(m);
                localStorage.removeItem(m), t && (t = c(t), d.forEach(t, function (t) {
                    l(t[0], t.slice(1))
                }))
            } catch (e) {
            }
        }
    };
    t.exports = _
}, function (t, e, n) {
    "use strict";
    function i() {
        function t() {
            return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1)
        }

        return [t(), t(), t(), t()].join("")
    }

    function o() {
        var t = c.get("tvfe_boss_uuid");
        if (!t) {
            t = i();
            try {
                c.set("tvfe_boss_uuid", t, "qq.com", !1, 87600)
            } catch (e) {
                c.set("tvfe_boss_uuid", t, "", !1, 87600)
            }
        }
        return t
    }

    function r(t, e) {
        t = t.split("."), (t.length < 3 || t.length > 5) && console.warn("按钮名分段数不对，可能会导致数据丢失");
        var n = g;
        n += "&s_ptag=" + d + "&s_app=" + (t[0] || "") + "&s_module=" + (t[1] || "") + "&s_behave=" + (t[2] || "") + "&s_sub=" + (t[3] || "") + "&s_fifth=" + (t[4] || ""), e && e.lazy ? u.push(n) : l(n)
    }

    var a, s = n(24), c = n(6), l = n(26), u = n(27);
    try {
        a = window.jQuery || window.Zepto || window.tvp && tvp.$
    } catch (f) {
    }
    a && a(document.body).on("click", "[_boss]", function (t) {
        var e = a(t.currentTarget);
        r(e.attr("_boss"))
    });
    var p = window.sessionStorage || {
            getItem: function () {
                return ""
            }
        }, d = s.get("ptag") || p.getItem("ptag") || c.get("ptag"), h = s.get("openid") || c.get("openid"), g = "//btrace.qq.com/kvcollect?BossId=3255&Pwd=2118551257&s_url=" + encodeURIComponent(location.href.split("?")[0]) + "&s_referrer=" + encodeURIComponent(document.referrer) + "&s_ua=" + navigator.userAgent + "&s_uuid=" + o() + "&s_uin=" + (c.get("o_cookie") || c.get("uin") || c.get("luin")) + "&s_openid=" + h + "&_dc=" + Math.random();
    t.exports = {
        ptag: function (t) {
            d = t
        }, hot: r
    }
}, function (t, e, n) {
    "use strict";
    var i = n(25);
    t.exports = {
        get: function (t, e) {
            var n = new RegExp("(\\?|#|&)" + t + "=([^&#]*)(&|#|$)");
            e = e || location.href;
            var o = e.match(n);
            return o ? i(o[2]) : ""
        }, del: function (t) {
            var e = new RegExp("(\\?|#|&)" + t + "=([^&#]*)(&|#|$)"), n = location.href.match(e);
            n = n ? n[2] : "";
            try {
                window.history && history.replaceState && history.replaceState(null, null, location.href.replace(t + "=" + n, ""))
            } catch (i) {
            }
        }
    }
}, function (t, e) {
    var n = {"<": "&#60;", ">": "&#62;", '"': "&#34;", "'": "&#39;", "&": "&#38;"}, i = function (t) {
        return n[t]
    };
    t.exports = function (t) {
        return ("" + t).replace(/&(?![\w#]+;)|[<>"']/g, i)
    }
}, function (t, e) {
    "use strict";
    function n() {
    }

    t.exports = function (t) {
        var e = document.createElement("img");
        e.onerror = n, e.onload = n, e.onabort = n, e.src = t
    }
}, function (module, exports, __webpack_require__) {
    var cookie = __webpack_require__(6), report = __webpack_require__(26), storage = function () {
        var t = !1;
        try {
            window.localStorage && (t = !0)
        } catch (e) {
        }
        var n = location.hostname || location.host;
        return t ? {
                get: function (t) {
                    return localStorage.getItem(t)
                }, set: function (t, e) {
                    return localStorage.setItem(t, e)
                }, clear: function (t) {
                    return localStorage.removeItem(t)
                }
            } : {
                get: function (t) {
                    return cookie.get(t)
                }, set: function (t, e) {
                    return cookie.set(t, e, n)
                }, clear: function (t) {
                    return cookie.set(t, "", n)
                }
            }
    }(), reg = /^(?:ht|f)tp(?:s)?\:\/\/(?:[\w\-\.]+)\.\w+/i, k = "txv_lazyreport_list", d = "|", clear = function () {
        return storage.clear(k)
    }, shift = function () {
        var t = storage.get(k);
        if (!t)return "";
        var e = t.split(d), n = e.shift();
        return storage.set(k, e.join(d)), n ? decodeURIComponent(n) : ""
    }, push = function (t) {
        if (t) {
            var e = storage.get(k), n = [];
            e && (n = e.split(d)), n.push(encodeURIComponent(t)), storage.set(k, n.join(d))
        }
    }, reportItem = function (item) {
        if (reg.test(item))try {
            !!report && report(item)
        } catch (e) {
        } else setTimeout(function () {
            try {
                eval(item)
            } catch (e) {
            }
        }, 0)
    }, _report = function () {
        for (var t = shift(); t;)reportItem(t), t = shift()
    };
    module.exports = {push: push, clear: clear, report: _report}
}, function (t, e) {
    "use strict";
    function n(t, e) {
        return t && t.hasOwnProperty && t.hasOwnProperty(e)
    }

    var i = void 0, o = {
        escape: function (t) {
            return t ? String(t).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&#39;").replace(/"/g, "&quot;") : ""
        }, type: function (t) {
            if (null === t)return "null";
            if (t === i)return "undefined";
            var e = /\[object (\w+)\]/.exec(Object.prototype.toString.call(t));
            return e ? e[1].toLowerCase() : ""
        }, keys: function (t) {
            var e = [];
            return t ? Object.keys ? Object.keys(t) : (this.objEach(t, function (t) {
                        e.push(t)
                    }), e) : e
        }, bind: function (t, e) {
            return t.bind ? t.bind(e) : function () {
                    return t.apply(e, arguments)
                }
        }, extend: function (t) {
            if ("object" != this.type(t) && "function" != this.type(t))return t;
            for (var e, i, o = 1, r = arguments.length; o < r; o++) {
                e = arguments[o];
                for (i in e)n(e, i) && (t[i] = e[i])
            }
            return t
        }, trim: function (t) {
            return t.trim ? t.trim() : t.replace(/^\s+|\s+$/gm, "")
        }, indexOf: function (t, e) {
            if (t.indexOf)return t.indexOf(e);
            var n = -1;
            return o.some(t, function (t, i) {
                if (t === e)return n = i, !0
            }), n
        }, forEach: function (t, e) {
            if (t.forEach)return t.forEach(e);
            for (var n = t.length, i = 0; i < n; i++)e(t[i], i);
            return t
        }, some: function (t, e) {
            if (t.some)return t.some(e);
            for (var n = t.length, i = !1, o = 0; o < n; o++)if (e(t[o], o)) {
                i = !0;
                break
            }
            return i
        }, map: function (t, e) {
            if (t.map)return t.map(e);
            for (var n = t.length, i = [], o = 0; o < n; o++)i.push(e(t[o], o));
            return i
        }, objEach: function (t, e) {
            if (t)for (var i in t)if (n(t, i) && e(i, t[i]) === !1)break
        }, reduce: function (t, e) {
            if ("function" != o.type(e))throw new TypeError("Array.prototype.reduce callback must be a function");
            var n = t.length;
            if (0 === n && 2 === arguments.length)throw new TypeError("reduce of empty array with no initial value");
            var i, r = n - 1;
            if (arguments.length >= 3) i = arguments[2]; else for (; ;) {
                if (r in t) {
                    i = t[r--];
                    break
                }
                if (--r < 0)throw new TypeError("reduceRight of empty array with no initial value")
            }
            if (r < 0)return i;
            do r in t && (i = e(i, t[r], r, t)); while (r--);
            return i
        }, filter: function (t, e, n) {
            if (t.filter)return t.filter(e);
            for (var i = t.length, o = [], r = 0; r < i; r++) {
                var a = t[r];
                e.call(n, a, r, t) && o.push(a)
            }
            return o
        }, lock: function (t) {
            var e;
            return function () {
                if (!e) {
                    e = !0;
                    var n = [].slice.call(arguments, 0);
                    n.unshift(function () {
                        e = !1
                    }), t.apply(this, n)
                }
            }
        }, once: function (t) {
            var e, n = arguments;
            return function () {
                if (!e && t)return e = !0, t.apply(n.length >= 2 ? n[1] : null, arguments)
            }
        }
    };
    t.exports = o
}, function (t, e, n) {
    "use strict";
    function i(t, e) {
        function n(n) {
            var u, f, p = !n || n === document.body;
            p && !m ? u = s(t) : p || m || (f = n.getBoundingClientRect().height);
            var h = !1, _ = !1, y = function (o, r) {
                if (!i.once || !_) {
                    var a;
                    if (p) {
                        u = m ? s(t) : u;
                        var c = u.top, l = u.bottom;
                        i.offset && (c -= i.offset, l += i.offset), a = g ? o + r > c && o < l : o + r > c
                    } else if (!p) {
                        var d = t.getBoundingClientRect(), y = f || n.getBoundingClientRect().height, c = d.top;
                        i.offset && (c -= i.offset), a = g ? d.top > -d.height && d.top < y : d.top < y
                    }
                    var b = h;
                    if (!a)return void(h = !1);
                    h = !0, (v && !b || !v) && (_ = !0, e && e())
                }
            }, b = d.on("scroll", y);
            return p ? o() : (c(n, "scroll", y), y(r(), a())), function () {
                b(), p || l(n, "scroll", y)
            }
        }

        var i = {}, p = arguments;
        "object" == f.type(e) && (i = e, e = p[2]);
        var g = u(i, "visible", !0), v = u(i, "enter", !1), m = u(i, "recalc", !1), _ = h(t);
        if (f.some(_.parents, function (t) {
                return document.body === t
            }))return n(_.scrollParent);
        var y, b = setTimeout(function () {
            y = n(h(t).scrollParent)
        });
        return function () {
            clearTimeout(b), y && y()
        }
    }

    function o() {
        if (v.throttle) {
            if (m)return;
            m = !0, setTimeout(function () {
                m = !1, d.emit("scroll", r(), a())
            }, v.throttle)
        } else d.emit("scroll", r(), a())
    }

    function r() {
        return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
    }

    function a() {
        return "BackCompat" == document.compatMode ? document.body.clientHeight : document.documentElement.clientHeight
    }

    function s(t) {
        var e = t.getBoundingClientRect();
        return {top: e.top + r(), bottom: e.bottom + r()}
    }

    function c(t, e, n) {
        g ? t.attachEvent("on" + e, n) : t.addEventListener(e, n)
    }

    function l(t, e, n) {
        g ? t.detachEvent("on" + e, n) : t.removeEventListener(e, n)
    }

    function u(t, e, n) {
        return t.hasOwnProperty(e) ? !!t[e] : n
    }

    var f = n(28), p = n(30), d = new p, h = n(31), g = !document.addEventListener, v = {};
    c(window, "scroll", o), c(window, "resize", o), i.set = function (t, e) {
        return v[t] = e, i
    }, t.exports = i;
    var m
}, function (t, e, n) {
    "use strict";
    function i() {
        this._evtObjs = {}, this._outdatedMsgs = {}
    }

    function o() {
    }

    var r = n(28);
    i.prototype.on = function (t, e, n) {
        this._evtObjs[t] || (this._evtObjs[t] = []), this._evtObjs[t].push({handler: e, once: n});
        var i = this;
        return function () {
            i.off(t, e)
        }
    }, i.prototype.wait = function (t, e) {
        return this._outdatedMsgs[t] ? (e.apply(null, this._outdatedMsgs[t]), o) : this.on(t, e, !0)
    }, i.prototype.off = function (t, e) {
        var n, i = this;
        return n = t ? [t] : r.keys(this._evtObjs), r.forEach(n, function (t) {
            if (e) {
                var n = i._evtObjs[t] || [], o = [];
                r.forEach(n, function (t) {
                    t.handler !== e && o.push(t)
                }), i._evtObjs[t] = o
            } else i._evtObjs[t] = []
        }), this
    }, i.prototype.emit = function (t) {
        var e = Array.prototype.slice.call(arguments, 1);
        this._outdatedMsgs[t] = e;
        var n = this._evtObjs[t] || [];
        r.forEach(n, function (t) {
            t.once && t.called || (t.called = !0, t.handler && t.handler.apply(null, e))
        })
    }, i.prototype.emitAsync = function () {
        var t = arguments, e = this;
        setTimeout(function () {
            e.emit.apply(e, t)
        }, 0)
    }, i.prototype.assign = function (t) {
        var e = this;
        r.forEach(["on", "off", "wait", "emit", "emitAsync"], function (n) {
            var i = e[n];
            t[n] = function () {
                return i.apply(e, arguments)
            }
        })
    }, (new i).assign(i), t.exports = i
}, function (t, e) {
    "use strict";
    function n(t, e) {
        e = e || [];
        var i = t.parentNode;
        return i ? (e.push(i), i === document.body ? e : n(i, e)) : e
    }

    function i(t) {
        if (!t)return "";
        var e;
        if (window.getComputedStyle)try {
            e = window.getComputedStyle(t)
        } catch (n) {
        } else t.currentStyle && (e = t.currentStyle);
        return e ? e["overflow-y"] || e.overflow : ""
    }

    function o(t) {
        return /(auto|scroll)/.test(i(t))
    }

    t.exports = function (t) {
        for (var e = n(t), i = document.body, r = 0; r < e.length; r++) {
            var a = e[r];
            if (a === document.body || o(a)) {
                i = a;
                break
            }
        }
        return {parents: e, scrollParent: i}
    }
}, function (t, e, n) {
    function i(t, e) {
        var n = e ? h : d, i = t.attr("_" + g).split("&"), o = {};
        o.url = location.href, i.forEach(function (t, e) {
            var n = t.split("=");
            if (n && !(n.length < 2))if (n.length > 2 && (n[1] = n.slice(1).join("=")), n[0].length > 2) ~c.indexOf(v, n[0]) ? o[n[0]] = n[1] : ""; else {
                var i = c.indexOf(m, n[0]);
                ~i ? o[v[i]] = n[1] : ""
            }
        }), n += Math.random();
        var r = c.extend({}, r, o);
        e && a(r), f(n, r)
    }

    function o() {
        function t() {
            return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1)
        }

        return [t(), t(), t(), t()].join("")
    }

    function r() {
        var t = u.get("tvfe_boss_uuid");
        if (!t) {
            t = o();
            try {
                u.set("tvfe_boss_uuid", t, "qq.com", !1, 87600)
            } catch (e) {
                u.set("tvfe_boss_uuid", t, "", !1, 87600)
            }
        }
        return t
    }

    function a(t) {
        var e = [];
        for (var n in t)t.hasOwnProperty(n) && "userID" != n && "actionType" != n && "url" != n && e.push(n + "=" + t[n]);
        window.sessionStorage && p.setItem && p.setItem("report_recomm_player", e.join("|"))
    }

    var s = n(29), c = n(28), l = (n(30), n(24)), u = n(6), f = n(12), p = window.sessionStorage || {
            getItem: function () {
                return ""
            }
        }, d = "//btrace.qq.com/kvcollect?BossId=4073&Pwd=598576177&_dc=", h = "//btrace.qq.com/kvcollect?BossId=4074&Pwd=1411373385&_dc=";
    ({
        actionType: "click",
        userID: r(),
        ptag: l.get("ptag") || p.getItem("ptag") || u.get("ptag"),
        url: "",
        rtype: "",
        algId: "",
        bucketId: "",
        reason: "",
        reasonType: "",
        cid: "",
        vid: "",
        pid: "",
        module: "",
        pageType: "",
        seqnum: ""
    });
    t.exports = {
        init: function () {
            $(document.body).on("click", "[_" + g + "]", function (t) {
                var e = $(t.currentTarget);
                i(e, !0)
            }), this.refresh(), txv.Message.on("report_recomm_refresh", this.refresh)
        }, refresh: function (t) {
            var e = t ? $(t).find("[" + g + "]") : $("[" + g + "]");
            e.each(function () {
                var t = $(this), e = t.attr(g);
                t.attr("_" + g, e).removeAttr(g);
                var n = s(this, {enter: !0}, function () {
                    i(t, !1), setTimeout(function () {
                        n && n()
                    })
                })
            })
        }
    };
    var g = "_recommend", v = ["pageType", "module", "seqnum", "rtype", "algId", "bucketId", "reason", "reasonType", "cid", "vid", "pid"], m = ["pt", "m", "s", "r", "a", "b", "rs", "rt", "c", "v", "p"]
}, function (t, e, n) {
    function i() {
        s(), h = setInterval(s, _)
    }

    function o() {
        y || (y = !0, b += w - k, k = (new Date).getTime(), x += k - w, d = b < m ? setTimeout(i, m - b) : setTimeout(i, _ - (b - m) % _))
    }

    function r() {
        y && (y = !1, w = (new Date).getTime(), d && (clearTimeout(d), d = 0), h && (clearInterval(h), h = 0))
    }

    function a() {
        r(), s((new Date).getTime())
    }

    function s() {
        var t = (new Date).getTime(), e = new Image(1, 1), n = t - C - x;
        (n < 0 || n > 1e4) && (n = 2998), e.src = "//btrace.qq.com/kvcollect?BossId=4154&Pwd=819243753&vtime=" + n + "&_dc=" + Math.random(), C = t, x = 0
    }

    function c() {
        if (!T && u()) {
            T = !0;
            var t = $(window);
            t.bind("focus", o), t.bind("blur", r), t.bind("unload", a), p(function (t) {
                t && t.on && t.on("windowFullscreenChange", f)
            }), document.hasFocus() && o()
        }
    }

    function l() {
        if (T) {
            var t = $(window);
            r(), t.unbind("focus", o), t.unbind("blur", r), t.unbind("unload", a), p(function (t) {
                t && t.off && t.off("windowFullscreenChange", f)
            })
        }
        T = !1
    }

    function u() {
        return window.top == window && parseInt(g.getUin()) % 97 == 76 && v[window.location.host]
    }

    function f(t) {
        t && setTimeout(function () {
            o()
        }, 500)
    }

    function p(t) {
        function e() {
            var o = window.PLAYER;
            o ? (i = !0, t(o)) : setTimeout(function () {
                    n < 3 && !i && (n++, e())
                }, 2e3)
        }

        var n = 0, i = !1;
        e()
    }

    var d, h, g = n(5), v = {
        "v.qq.com": !0,
        "film.qq.com": !0,
        "live.qq.com": !0,
        "tv.qq.com": !0
    }, m = 3e3, _ = 3e3, y = !1, b = 0, x = 0, k = (new Date).getTime(), w = k, C = k, T = !1;
    g.addLoginCallback(c), g.addLogoutCallback(l), c()
}, function (t, e, n) {
    var i = $(".navigation_more"), o = i.find(".pop_more"), r = o.find("iframe"), a = n(35), s = n(36);
    i.on("mouseenter", function () {
        r.css("height", o.outerHeight() + "px"), a.emit(s.navmore, !0)
    }).on("mouseleave", function () {
        a.emit(s.navmore, !1)
    }), n(37);
    var c = n(38);
    c.init();
    var l = n(14);
    l.macs && $("#pc_client").hide(), n(39), n(49), n(59), n(68), n(71), n(84), n(94), $(".mod_quick").on("mouseenter", ".quick_item", function () {
        $(this).siblings().removeClass("open")
    }), t.exports = {"float": c}
}, function (t, e) {
    "use strict";
    function n() {
        this._evtObjs = {}
    }

    n.prototype.on = function (t, e) {
        this._evtObjs[t] || (this._evtObjs[t] = []), this._evtObjs[t].push({handler: e})
    }, n.prototype.off = function (t, e) {
        var n;
        if (t) n = [t]; else for (var i in this._evtObjs)Object.prototype.hasOwnProperty.call(this._evtObjs, i) && n.push(this._evtObjs[i]);
        for (var t in n)if (Object.prototype.hasOwnProperty.call(n, t)) {
            var o = this._evtObjs[n[t]] || [], r = [];
            for (var a in o)Object.prototype.hasOwnProperty.call(o, a) && o[a].handler !== e && r.push(o[a]);
            this._evtObjs[t] = r
        }
        return this
    }, n.prototype.emit = function (t, e) {
        var n = this._evtObjs[t] || [];
        for (var i in n)Object.prototype.hasOwnProperty.call(n, i) && n[i].handler && n[i].handler(e)
    };
    var i = new n;
    n.on = function () {
        i.on.apply(i, arguments)
    }, n.off = function () {
        i.off.apply(i, arguments)
    }, n.emit = function () {
        i.emit.apply(i, arguments)
    }, window.Message = t.exports = n
}, function (t, e) {
    t.exports = {
        navmore: "nav_more",
        smartsearch: "smartsearch",
        navheadimg: "navheadimg",
        viperror: "viperror",
        vipnotlogin: "vipnotlogin",
        tipsshow: "tipsshow"
    }
}, function (t, e) {
    "use strict";
    var n = $("#new_vs_header"), i = n.find(".channel_title");
    window.CHANNEL_NAME && i.html(window.CHANNEL_NAME);
    var o = 0, r = n.find(".channel_more"), a = n.find(".nav_more_pop"), s = {
        init: function () {
            r.size() && (r.on("mouseenter", this.enter).on("mouseleave", this.leave), a.on("mouseenter", this.enter).on("mouseleave", this.leave))
        }, leave: function () {
            o = setTimeout(function () {
                a.removeClass("open")
            }, 200)
        }, enter: function () {
            clearTimeout(o), a.addClass("open")
        }
    };
    t.exports = s.init()
}, function (t, e) {
    "use strict";
    var n = $("#new_vs_header"), i = "FOCUS_SLIDE_CHANGE", o = !1;
    t.exports = {
        init: function () {
            n.size() && (this.register(), this.bindScroll())
        }, register: function () {
            window.txvHeaderNav = {};
            var t = window.txvHeaderNav;
            t.setRegisterCallback = function (e, n) {
                for (var i in n)({}).hasOwnProperty.call(n, i) && (t[e] || (t[e] = {}), t[e][i] = n[i])
            }
        }, bindScroll: function () {
            $(window).scroll(function () {
                var t = window.txvHeaderNav && window.txvHeaderNav[i];
                if ($(window).scrollTop() > 580) {
                    if (o)return;
                    o = !0, t && t.stop && t.stop(), n.addClass("site_head_sticky")
                } else {
                    if (!o)return;
                    o = !1, t && t.slide && t.slide(), n.removeClass("site_head_sticky")
                }
            })
        }, getIsFloat: function () {
            return o
        }
    }
}, function (t, e, n) {
    function i() {
        function t(t) {
            return t ? String(t).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&#39;").replace(/"/g, "&quot;") : ""
        }

        p.getMyView(c).done(function (e) {
            h = e || [];
            for (var n = 0; n < h.length; n++)h[n].vtit = t(h[n].vtit);
            u.html(g(h))
        }).fail(o)
    }

    function o() {
        var t = p.getLocalView();
        t && t.length > c && (t = t.slice(0, c)), u.html(g(t))
    }

    function r(t, e) {
        if ("string" == typeof t && 0 != t.length) {
            if (!d.isLogin()) {
                l.find("dd[key=" + t + "]");
                return e = isNaN(e) ? 0 : e, m.rmRecordByKey(t, e), void o()
            }
            v.rmServer(t).done(function (n) {
                m.rmRecordByKey(t, e), i()
            }).fail(function () {
            })
        }
    }

    var a = $("#modHistory"), s = 200, c = 5, l = $("#history_pop"), u = $("#modHistoryContent"), f = null, p = n(40), d = n(5), h = [], g = n(47), v = n(46), m = n(41);
    d.addLogoutCallback(function () {
        h = [], u.empty()
    }), d.addClearLoginStatusCallback(function () {
        h = [], u.empty()
    }), d.addUserInfoChangedCallback(function () {
        h = [], u.empty()
    }), d.addReadyCallback(function () {
        a.on("mouseenter", function () {
            clearTimeout(f), a.hasClass("open") || ("" == u.html() && u.html('<div class="mod_loading"></div>'), d.isLogin() ? 0 == h.length && i() : o(), a.addClass("open"))
        }).on("mouseleave", function () {
            f = setTimeout(function () {
                a.removeClass("open")
            }, s)
        }), l.on("click", "[data-type='del']", "click", function (t) {
            t.preventDefault(), r(this.getAttribute("_key"), this.getAttribute("_idx") || 0), txv.tj2.btnTj("history.delete")
        })
    })
}, function (t, e, n) {
    var i = n(41), o = n(46), r = (n(43), n(44)), a = {
        setInfo: r.setInfo, getHistoryByCid: function (t, e) {
            var n = $.Deferred();
            return $.when(a.getServerRecordByIds(t, e), a.getLocalRecordByIds(t, e)).then(function (t, e) {
                console.log(t), console.log(e), e && e.date > t.date && e.time > 0 ? n.resolve(e) : n.resolve(t)
            }), n.promise()
        }, getServerRecordByIds: function (t, e) {
            return o.getHistoryByCid(t, e)
        }, getLocalRecordByIds: function (t, e) {
            return i.getHistoryByCidVid(t, e)
        }, batchReport: function () {
        }, add: function (t, e, n) {
            i.add(t, e, n)
        }, getMyView: o.getMyView, getLocalView: i.getNotLoginView
    };
    t.exports = a
}, function (t, e, n) {
    function i(t, e, n) {
        var i, r = o();
        return r.length < 2 || r.indexOf("_") === -1 ? void g.trace("add history error: not enough options!") : (++v, s(e, n, t), j.isLogin() ? t == -3 && v != m ? void g.trace("没达到次数限制，不上报服务器:" + v) : t == b.begin || 0 == t ? void g.trace("不上报开始播放:") : (v = 0, e = Math.ceil(e), i = {
                            time: e,
                            keyid: r,
                            vtype: q.getinfo().typeid
                        }, void S.reportOne(i)) : void g.trace("not login!!"))
    }

    function o() {
        var t = q.getinfo();
        return [t.coverid, t.vid].join("_")
    }

    function r() {
        return Math.ceil(+new Date / 1e3)
    }

    function a(t) {
        return t = t || T, j.isLogin() ? t + j.getUnicode() : t
    }

    function s(t, e, n) {
        if (!y) {
            var i = o(), s = r(), l = a(), d = q.getinfo().typeid, h = "";
            if (!q.getinfo().tit || !q.getinfo().lnk || i.length < 2 || y || i.indexOf("_") === -1)return void g.trace("add local history error: option error");
            if (k) {
                y = !0;
                var v = u(l);
                v ? (h = q.getinfo().coverid || "_" + q.getinfo().vid, v = p(v, h)) : v = "";
                var m = f(i, s, t, e, d);
                v = v ? m + "|" + v : m, x.set(l, v), c(l, s, 1), y = !1
            }
        }
    }

    function c(t, e, n) {
        if (!(arguments.length < 2 || isNaN(e))) {
            var i = x.get(w);
            if (!i)return void x.set(w, [t, e, e].join(","));
            var o = new RegExp("(" + t + ")(,\\d+)(,\\d+)", "g");
            if (o.test(i)) i = 1 == n ? i.replace(o, "$1," + e + "$3") : i.replace(o, "$1$2," + e); else {
                var r, a = i.split("|"), s = e;
                if (a.length >= C) {
                    for (var c, r, s = e, l = 0, u = a.length; l < u; l++)if (a[l]) {
                        var f = a[l].split(",");
                        f[1] <= s && f[0] !== t && (s = f[1], c = f[0], r = l)
                    }
                    !isNaN(r) && r < u && a.splice(r, 1), x.remove(c), i = a.join("|")
                } else i += "|" + [t, e, e].join(",")
            }
            x.set(w, i)
        }
    }

    function l(t, e) {
        x.remove(t);
        var n = x.get(w);
        if (n) {
            for (var i = n.split("|"), o = [], r = t.replace(j.getUnicode(), ""), a = 0, s = i.length; a < s; a++) {
                var c = i[a], l = c.split(",");
                l[0] && l[0] != t && (l[0] == r ? o.push(c.replace(l[2], e)) : o.push(c))
            }
            x.set(w, o.join("|") || "")
        }
    }

    function u(t) {
        var e = x.get(t);
        if (!e)return "";
        for (var n, i, o = e.split("|"), r = [], a = o.length - 1, s = a; s >= 0; s--)n = o[s], i = n.substr(0, n.indexOf(",")), e.indexOf(i) == e.lastIndexOf(i) && r.unshift(n), e = o.slice(0, s).join("|");
        return r.join("|")
    }

    function f(t, e, n, i, o, r) {
        if (r = q.getinfo().tit || r, "string" == $.type(r)) {
            var a = q.getinfo().isPay ? 1 : 0;
            return r = r.replace(",", "&#44;"), isNaN(parseInt(o)) ? [t, r, e, n, i, a].join(",") : [t, r, e, n, i, a, o].join(",")
        }
        return ""
    }

    function p(t, e) {
        var n = t.split("|"), i = n.length;
        return i > _ && (t = n.splice(0, _).join("|")), t = t.replace(new RegExp(e + "[^\\|]+\\|?", "gi"), ""), /(\|)$/.test(t) && (t = t.replace(RegExp.$1, "")), i >= _ ? t.replace(/\|[^|]+$/g, "") : t
    }

    function d() {
        function t(t) {
            return t && 7 == t.length ? [t[0], t[3], t[2], 0, t[6]].join("+") : [t[0], t[3], t[2]].join("+")
        }

        var e = x.get(w);
        if (targetUins = h(e), reportList = [], 0 == targetUins.length)return reportList;
        for (var n = {}, i = {}, o = 0, r = targetUins.length; o < r; o++) {
            var a = targetUins[o][0], s = targetUins[o][2], c = u(a);
            if (c)for (var l, f = c.split("|"), p = 0, d = f.length; p < d; p++)if (l = f[p].split(","), l.length >= 4 && "string" == $.type(l[0]) && l[0].indexOf("_") !== -1 && l[2] >= s) {
                var g = l[0].split("_");
                "undefined" == typeof n[g[0]] ? (n[g[0]] = l[2], reportList.push(t(l)), i[g[0]] = reportList.length - 1) : n[g[0]] < g[2] && a.indexOf(txv.login.getUin()) != -1 && (n[g[0]] = l[2], reportList[i[g[0]]] = t(l))
            }
        }
        return reportList
    }

    function h(t) {
        var e = [];
        if ("string" == $.type(t))for (var n = t.split("|"), i = a(), o = 0, r = n.length; o < r; o++) {
            var s = n[o], c = s.split(",");
            c[0] == T ? c[1] >= c[2] && e.push(c) : c[0] == i && c[1] >= c[2] && e.push(c)
        }
        return e
    }

    var g = n(42), v = 0, m = 30, _ = 10, y = !1, b = {finish: -2, begin: -1, playing: -3}, x = n(10), k = !1;
    x.get("anything", function () {
        k = !0
    });
    var w = "ten_video_history_uin_storage_key", C = 5, T = "ten_video_history", q = (n(43), n(44)), j = n(5), S = n(45);
    t.exports = {
        add: i, isBatchReport: function () {
            S.batchReport(d().join("|"))
        }, afterReportSrv: function () {
            l(a())
        }, getHistoryByCidVid: function (t, e) {
            var n, i = $.Deferred(), o = a(), r = [], s = !1, c = {
                vid: "",
                title: "",
                coverid: "",
                playurl: "",
                date: 0,
                time: 0
            }, l = 0, f = u(o);
            if (f) {
                f = f.split("|"), n = t || e;
                for (var p = 0, d = f.length; p < d; p++)if (r = f[p].split(","), r[0].indexOf(n) != -1) {
                    r[3] = parseInt(r[3]), l = isNaN(r[3]) || $.inArray(r[3], [-2, -1]) != -1 ? 0 : r[3], c = {
                        time: l,
                        title: r[1],
                        date: r[2] - 0,
                        vid: r[0].split("_")[1],
                        coverid: r[0].split("_")[0]
                    }, s = !0;
                    break
                }
            }
            return i.resolve(c), i.promise()
        }, getList: d, getNotLoginView: function () {
            var t, e = u(a()), n = e ? e.split("|") : [], i = [];
            if (n.length) {
                for (var o = 0, r = n.length; o < r; o++)t = n[o].split(","), i[o] = {
                    keyid: t[0],
                    title: t[1],
                    date: t[2],
                    time: t[3],
                    tl: t[4],
                    ispay: 1 * t[5] > 1 ? 4 : 8,
                    ctypeid: t[6]
                };
                return i
            }
            return n
        }, rmRecordByKey: function (t) {
            var e = a(), n = u(e);
            n = n ? p(n, t) : "", x.set(e, n)
        }
    }
}, function (t, e, n) {
    function i(t) {
        a.push(t), 2 == s && "object" == typeof console && console.log(t)
    }

    function o(t) {
        s >= 1 && "object" == typeof console && console.log(t)
    }

    function r(t) {
        s >= 1 && "object" == typeof console && console.dir(t)
    }

    var a = [], s = -1, c = n(15).getUrlParam("debug"), l = -1;
    switch (c) {
        case"true":
        case"2":
            l = 2;
            break;
        case"trace":
        case"1":
            l = 1
    }
    s = l, t.exports = {
        log: i, trace: o, dump: r, getAllLog: function () {
            return a
        }
    }
}, function (t, e) {
    t.exports = {
        api: {
            myview: "//ncgi.video.qq.com/tvideo/fcgi-bin/myview",
            myviewreport: "//rcgi.video.qq.com/report/myviewreport?otype=json"
        },
        rParamT: {ONEREPORT: 3, BATCHREPORT: 4, ONEINFO: 6},
        nParamT: {BATCHINFO: 8, ONEINFO: 7, LIST: 1, DELETEONE: 4}
    }
}, function (t, e) {
    var n = {coverid: "", tit: null, lnk: null, isPay: 0, vid: "", typeid: ""};
    t.exports = {
        getinfo: function () {
            return n
        }, setInfo: function (t) {
            $.extend(n, t)
        }
    }
}, function (t, e, n) {
    function i(t) {
        $.ajax({
            url: a.api.myviewreport,
            dataType: "jsonp",
            data: $.extend(t, {plat: 2, pver: 3, rf: "v", t: a.rParamT.ONEREPORT}, o()),
            CSRF: !0,
            success: function (t) {
                s.trace("set history record success!")
            },
            error: function () {
                s.trace("set history record error!")
            }
        })
    }

    function o() {
        var t = n(8), e = n(11);
        return {ptag: t.getCookiePtag(), qtag: e.getCookieQtag()}
    }

    function r(t) {
        $.ajax({
            url: a.api.myviewreport,
            dataType: "jsonp",
            data: $.extend({pn: 1, list: "", rf: "v"}, t, {
                t: a.rParamT.BATCHREPORT,
                cur: 1,
                simp: 1,
                plat: 2,
                pver: 3,
                otype: "json"
            }),
            CSRF: !0,
            success: function (t) {
                c.afterReportSrv()
            },
            error: function () {
                s.trace("set history record error!")
            }
        })
    }

    var a = n(43), s = n(42), c = n(41);
    t.exports = {reportOne: i, batchReport: r}
}, function (t, e, n) {
    function i(t, e) {
        var n = $.Deferred();
        return $.ajax({
            url: t, dataType: "jsonp", data: e, CSRF: !0, success: function (t) {
                return t && t.result && 0 == t.result.code ? void n.resolve(t) : void n.reject()
            }, error: function () {
                n.reject()
            }
        }), n.promise()
    }

    var o = n(43), r = n(44);
    t.exports = {
        getHistoryByCid: function (t, e) {
            var n, a, s, c = $.Deferred(), l = t + "_" + e, u = !0;
            return u && (n = {
                t: o.rParamT.ONEINFO,
                plat: 2,
                keyid: l,
                otype: "json",
                vtype: r.getinfo().typeid
            }, a = o.api.myviewreport), s = {vid: "", time: 0}, i(a, n).always(function (t) {
                $.extend(s, t), s.time = s.time - 0, $.inArray(s.time, [-1, -2]) != -1 && (s.time = 0), s.time < 0 && (s.time *= -1), c.resolve(s)
            }), c.promise()
        }, getMyView: function (t) {
            var e = $.Deferred();
            return i(o.api.myview, {
                cur: 1,
                pn: t,
                simp: 1,
                otype: "json",
                t: o.nParamT.LIST,
                plat: 2
            }).done(function (t) {
                e.resolve(t.list)
            }).fail(function () {
                e.reject()
            }), e.promise()
        }, rmServer: function (t) {
            var e = $.Deferred();
            return i(o.api.myview, {keyid: t, otype: "json", t: o.nParamT.DELETEONE, plat: 2}).done(function (t) {
                e.resolve(t)
            }).fail(function () {
                e.reject()
            }), e.promise()
        }
    }
}, function (t, e, n) {
    function i(t) {
        function e(t, e) {
            if (e.length > 0)switch (t) {
                case h.today:
                    T = a.replace(/\{text\}/, "今天").replace(/\{cls\}/, "date_green"), v += s.replace(/\{cls\}/, "history_today").replace(/\{day\}/, T).replace(/\{content\}/, e);
                    break;
                case h.yesterday:
                    T = a.replace(/\{text\}/, "昨天").replace(/\{cls\}/, "date_blue"), v += s.replace(/\{cls\}/, "history_yesterday").replace(/\{day\}/, T).replace(/\{content\}/, e);
                    break;
                case h.earlier:
                    T = a.replace(/\{text\}/, "更早").replace(/\{cls\}/, "date_orange"), v += s.replace(/\{cls\}/, "history_earlier").replace(/\{day\}/, T).replace(/\{content\}/, e)
            }
        }

        var n, i, d, h = {
            today: 0,
            yesterday: -1,
            earlier: -999
        }, g = '<div class="pop_timeline_wrap"><div class="timeline_video_wrap">{content}</div></div>', v = "", m = 0, _ = new Date, y = _.getDate(), b = _.getTime(), x = 864e5, k = "", w = "", C = "", T = "";
        for (d = t.length; m < d; m++) {
            var q = t[m];
            $.extend(t[m], {
                key: q.keyid,
                lnk: f.getPlayUrl(q),
                tit: f.getTitle(q),
                hoverTit: f.getTitle(q),
                target: "_blank",
                idx: m,
                timeTips: f.getTipsByTime(q.time, q.tl)
            });
            var j, S = txv.util.format(r, t[m]);
            i = 1e3 * t[m].date, b - 2 * x > i ? C += S : (_.setTime(i), j = _.getDate(), y == j ? k += S : y - 1 == j ? w += S : C += S)
        }
        return e(h.today, k), e(h.yesterday, w), e(h.earlier, C), v.length > 0 ? (n = txv.util.format(c, p.isLogin() ? u.login : u.notLogin), g.replace(/{content}/, v + n)) : (n = txv.util.format(c, p.isLogin() ? l.login : l.notLogin), o + n)
    }

    var o = '<div class="quick_pop_empty"><i class="icon_xl icon_time_xl"><svg class="svg_icon svg_icon_time_xl" viewBox="0 0 70 70"><path d="M34.5 38a1.5 1.5 0 0 1-1.5-1.5v-24a1.5 1.5 0 1 1 3 0V35h12.5a1.5 1.5 0 0 1 0 3h-14zm27.093 18.172l-.008-.007c-.275.32-.669.533-1.124.533a1.5 1.5 0 0 1-1.5-1.5c0-.346.136-.65.333-.903l-.024-.021A30.856 30.856 0 0 0 66 34.999c0-17.121-13.879-31-31-31-17.121 0-31 13.879-31 31 0 17.121 13.879 31 31 31 6.991 0 13.44-2.316 18.625-6.22l.009.014c.249-.183.54-.312.872-.312a1.5 1.5 0 0 1 1.5 1.5c0 .527-.288.968-.699 1.236l.025.036A33.851 33.851 0 0 1 35 68.999c-18.778 0-34-15.222-34-34C1 16.222 16.222 1 35 1c18.777 0 34 15.222 34 34a33.844 33.844 0 0 1-7.407 21.172z"></path></svg></i><p class="empty_txt">你暂时还没有观看记录呦~</p></div>', r = '<dd key="{key}"><a href="{lnk}" _hot="mynav.historylist.{pageType}" _qtag="nav.history" title="{hoverTit}" target="{target}" class="video_name">{tit}</a><span class="video_timestamp">{timeTips}</span><a href="javascript:;" _hot="mynav.historydelete.{pageType}"  _key="{key}" data-type="del" title="删除" _idx={idx} class="btn_close">×</a></dd>', a = '<dt><span class="dot_wrap"><i class="dot"></i></span><span class="timeline_date">{text}</span></dt>', s = '<dl class="timeline_video_list {cls}">{day}{content}</dl>', c = '<div class="quick_pop_btn"><a href="{btnHref}" data-type="{type}" target="{target}" class="btn_pop_link">{btnTxt}</a></div>', l = {
        login: {
            btnTxt: "开始追个剧吧",
            btnHref: "http://v.qq.com/zhuiju/",
            type: "link",
            target: "_blank"
        }, notLogin: {btnTxt: "开始追个剧吧", btnHref: "http://v.qq.com/zhuiju/", type: "link", target: "_blank"}
    }, u = {
        login: {btnTxt: "查看更多", btnHref: "http://v.qq.com/u/history/", type: "link", target: "_blank"},
        notLogin: {btnTxt: "登录查看更多", btnHref: "javascript:;", type: "login", target: "_self"}
    }, f = n(48), p = n(5);
    t.exports = i
}, function (t, e) {
    var n = {
        getTitle: function (t) {
            if (!t)return "";
            if (t.title = t.title || t.col_title || "", t.col_title)return t.col_title;
            if (t.vtit = t.vtit || "", !t.vtit)return t.title;
            if (2 == t.ctypeid || 3 == t.ctypeid) {
                var e = t.vtit.match(/^([^_]+)_(\d+(?:\-\d+)?)$/);
                return e && 3 == e.length ? t.vtit.indexOf("预告片") == -1 ? [e[1], " 第", e[2], "集"].join("") : [t.title, " 第", e[2], "集", e[1]].join("") : t.vtit.indexOf(t.title) != -1 ? t.vtit : (e = t.vtit.match(/^([^_]+)_(\d+)_(\d+)$/), e && 4 == e.length ? [e[1], " 第", e[2], "集"].join("") : t.title + " " + t.vtit)
            }
            if ($.inArray(t.ctypeid, [1, 98]) != -1) {
                var i = new RegExp("^" + t.title + "_\\d+");
                return i.test(t.vtit) ? t.title || t.vtit : t.vtit
            }
            return 39 == t.ctypeid ? t.title || t.vtit : n.formatVideoTitle(t.vtit)
        }, formatVideoTitle: function (t) {
            return t
        }, getPlayUrl: function (t, e) {
            var n, i, o, r, a, s = "";
            return "string" == typeof t ? (n = t, i = n.split("_"), o = i[0], r = i[1], 2 == i.length ? (isNaN(i[2]) || (r += "_" + i[2]), "string" == typeof o && o.length > 0 ? s = txv.util.getPlayUrl(o, r) : "string" == typeof r && r.length > 0 && (s = txv.util.getVideoPlayUrl(r))) : 3 == i.length && (s = txv.util.getDetailUrl(o || r))) : "object" === $.type(t) && (i = t.keyid.split("_"), a = t.time < 0 ? t.time * -1 : t.time, 3 == i.length && (i[1] = i[1] + "_" + i[2]), s = 7 == t.ctypeid ? txv.util.getBokePlayUrl(i[1]) : i[0].length > 0 ? txv.util.getPlayUrl(i[0], i[1]) : txv.util.getVideoPlayUrl(i[1])), 1 == e && "string" == $.type(t) || $.inArray(t.ispay, [4, 5, 6]) !== -1 ? "http://film.qq.com" + s : "http://v.qq.com" + s
        }, getTipsByTime: function (t, e) {
            var i = "";
            if (t = parseInt(t, 10), e = parseInt(e, 10), t = n.timeAdaptor(t, e), e <= 300 || t == -2) i = "已看完"; else if (t < 60 || isNaN(t)) i = "剩余99%"; else {
                if (i = 100 * (e - t) / e, 0 == i)return "已看完";
                i < 1 && (i = 1), i = "剩余" + Math.floor(i) + "%"
            }
            return i
        }, timeAdaptor: function (t, e) {
            return t < 0 && (t == -2 ? t = e : t *= -1), t
        }
    };
    t.exports = n
}, function (t, e, n) {
    function i() {
        f.length && !f.hasClass("none") || (f.removeClass("none"), p.hide(), s.addClass("open"), d.reportBossVipSys(3))
    }

    var o = n(5), r = n(50), a = n(51), s = $("#mod_head_user"), c = $("#mod_head_notice_trigger"), l = s.find('[data-type="avatar"]'), u = l.attr("src"), f = $("#mod_notlogin_pop"), p = $("#mod_head_notice_pop"), d = n(52), h = null, g = !1, v = !1;
    s.on("mouseenter", function () {
        v ? (clearTimeout(h), g || (g = !0, n(53)()), a.lazyUnRead(), f.addClass("none"), p.show(), s.addClass("open")) : f.length && (i(), clearTimeout(h))
    }).on("mouseleave", function () {
        h = setTimeout(function () {
            s.removeClass("open"), f.addClass("none"), p.hide()
        }, 300)
    }), o.addReadyCallback(function () {
        !o.isLogin(), f.on("click", "[data-boss]", function () {
            d.reportBossVipSys($(this).attr("data-boss"))
        }), a.getUnRead()
    }), c.on("click", function (t) {
        o.isLogin() || (t.preventDefault(), o.openLogin())
    }), o.addLogoutCallback(function () {
        v = !1, s.removeClass("open"), p.hide(), l.attr("src", u), c.attr("title", "未登录")
    }), o.addLoginCallback(function () {
        v = !0, c.attr("title", "");
        var t = "http://v.qq.com/vplus/" + o.getUin();
        p.find(".vplus_link").attr("href", t), p.find(".item_vplus>a.item_link").attr("href", t)
    }), o.addReadyCallback(function () {
        if (o.isLogin()) {
            v = !0;
            var t = "http://v.qq.com/vplus/" + o.getUin();
            p.find(".vplus_link").attr("href", t), p.find(".item_vplus>a.item_link").attr("href", t)
        }
    }), n(54), r()
}, function (t, e, n) {
    "use strict";
    function i() {
        function t(t) {
            return e ? t(null, e) : void $.ajax({
                    url: "//growth.video.qq.com/fcgi-bin/user_medal_info",
                    dataType: "jsonp",
                    success: function (n) {
                        n && 0 == n.ret ? t(null, e = "0124816".indexOf(n.curMedal)) : t("error")
                    },
                    error: function () {
                        t("error")
                    }
                })
        }

        if (!o) {
            o = !0, 0 == $(".icon_achievement").length && $('<a href="http://v.qq.com/u/badge.html" class="icon_achievement" target="_blank"><img id="_person_achieve_img" src="" alt="" style="display: none;"></a>').insertAfter($(".quick_pop_user_hd").find(".account_vip"));
            var e, n, i = $("#_person_achieve_img");
            $("#mod_head_notice_trigger").on("mouseenter", function () {
                t(function (t, e) {
                    return t ? i.hide() : void(~e && (n || (n = !0, i.attr("src", "//i.gtimg.cn/qqlive/images/20160725/curMedal_" + e + ".png")), i.show()))
                })
            })
        }
    }

    var o, r = n(5);
    t.exports = function () {
        r.isLogin() ? i() : r.addLoginCallback(i)
    }
}, function (t, e, n) {
    "use strict";
    function i() {
        $("._message_notice").remove(), $("#mod_head_user > ._checklogin").attr("href", a), $("._message_link").hide(), $("#mod_avator_moneybag").css("border-bottom", "none")
    }

    function o() {
        $.ajax({
            url: "//node.video.qq.com/x/usercenter/message/no_read_msg",
            data: {dwPlatform: 0, dwCount: 1},
            dataType: "jsonp",
            success: function (t) {
                if ("undefined" != typeof t) {
                    var e = t.data || {}, n = e.vecMsgList && e.vecMsgList[0];
                    if (n) {
                        var o = $("#mod_head_user > ._checklogin"), r = $("a._message_link"), a = $("._message_notice").length > 0 ? $("._message_notice") : $('<i class="dot_notice _message_notice"></i>');
                        o.append(a), o.attr("href", "http://v.qq.com/u/message"), o.on("click", function () {
                            setTimeout(function () {
                                i()
                            }, 50)
                        }), r.on("click", function () {
                            setTimeout(function () {
                                i()
                            }, 50)
                        }), $("#mod_avator_moneybag").css("border-bottom", "none"), $("._message_title").text(n.strTitle), $("._message_tips").text(n.strAbstract), $("._message_link").show(), $("#mod_avator_moneybag").css("border-bottom", s), /search/.test(location.pathname) && (r.find(".icon_notice_sm").css("color", c), a.css("right", "-7px"))
                    } else i()
                }
            },
            error: function (t) {
            }
        })
    }

    var r = n(5), a = $("#mod_head_user > ._checklogin").attr("href"), s = $("#mod_avator_moneybag").css("border-bottom");
    $("._vcoin_link").hide(), $("#mod_avator_moneybag").css("border-bottom", "none");
    var c = "#fa5058";
    t.exports = {
        getUnRead: function () {
            r.isLogin() && o(), txv.login.addLoginCallback(function () {
                r.isLogin() && o()
            }), txv.login.addLogoutCallback(function () {
                $("._message_notice").hide(), $("._message_link").hide()
            })
        }, lazyUnRead: function () {
            0 == $("._message_notice").length && this.getUnRead()
        }
    }
}, function (t, e, n) {
    var i = n(23), o = {
        isInToday: function (t) {
            var e = new Date, n = new Date(e.getTime() + 864e5), i = n.getFullYear(), o = n.getMonth() + 1, r = n.getDate(), a = new Date([i, o, r].join("/"));
            return 1 * t + 864e5 > a.getTime()
        }, isTodayShowed: function () {
            var t = txv.login.getUnicode(), e = "", n = localStorage.getItem("show_vcoin_exchange"), i = !1;
            return n && (n = $.parseJSON(n), n[t] && (e = n[t], e && (i = !0))), i
        }, setVipSysShowTime: function () {
            if (txv.login.isLogin()) {
                var t = localStorage.getItem("show_vcoin_exchange");
                t = t ? $.parseJSON(t) : {}, t[txv.login.getUnicode()] = (new Date).getTime(), localStorage.setItem("show_vcoin_exchange", o.obj2str(t))
            }
        }, json2str: function (t) {
            try {
                return JSON.stringify(t)
            } catch (e) {
                var n = $.isArray(t), i = [];
                for (var o in t)i.push(o + ":" + t[o]);
                return i = i.join(","), n ? "[" + i + "]" : "{" + i + "}"
            }
        }, reportBossVipSys: function (t) {
            var e = {
                url: document.URL,
                uuid: i && "function" == typeof i.uid && i.uid() || txv.cookie.get("tvfe_boss_uuid"),
                openid: txv.login.getWxAuthCookies() ? txv.login.getWxAuthCookies().openid : "",
                uin: txv.login.getUin(),
                BossId: 3809,
                Pwd: 1896006998,
                _dc: Math.random(),
                target: t
            }, n = "//btrace.qq.com/kvcollect?" + $.param(e);
            txv.report(n)
        }
    };
    t.exports = o
}, function (t, e, n) {
    function i(t) {
        t = t || "vcoin";
        var e = "//video.qq.com/fcgi-bin/get_user_profile?otype=json", n = $.Deferred();
        return $.ajax({
            url: e, data: {datakey: t}, dataType: "jsonp", success: function (t) {
                return t && 0 == t.err_code ? void n.resolve(t.propertys) : void n.reject(t)
            }, error: function () {
                n.reject()
            }
        }), n
    }

    function o() {
        i().done(function (t) {
            if (t && t.length) {
                var e = t[0], n = t[1];
                1 == e.property_type ? (a.html(e.property_count), s.html(n.property_count)) : (a.html(n.property_count), s.html(e.property_count))
            }
        }).fail(function () {
        })
    }

    var r = $("#mod_avator_moneybag"), a = r.find("._diamond"), s = r.find("._vcoin"), c = n(5);
    t.exports = function () {
        0 != r.length && (c.isLogin() && o(), c.addLoginCallback(o))
    }
}, function (t, e, n) {
    function i(t) {
        var e = n(57);
        e.init(t);
        var i = t && t.vip, r = t && t.annualvip, s = t && t.level, c = [o.base];
        i ? (r && c.push(o.year), c.push(o.level + s)) : (t.annualendtime > 0 && c.push(o.year), c.push(o.notvip), s > 0 && c.push(o.level + s)), a.attr("class", c.join(" ")).removeClass("none")
    }

    var o = {
        base: "icon_vip",
        notvip: "icon_vip_grey",
        year: "icon_vipyear",
        level: "icon_vip_lv"
    }, r = n(5), a = $("[data-type='viplogo']"), s = n(55);
    r.addLogoutCallback(function () {
        a.addClass("none")
    }), r.addReadyCallback(function () {
        s.setIsNeedEndTime(!0), s.getVipInfo().done(function (t) {
            i(t)
        })
    }), r.addLoginCallback(function () {
        s.getVipInfo().done(function (t) {
            i(t)
        })
    }), $(document).on("click", '[data-type="switchlogin"]', function (t) {
        t.preventDefault();
        var e = txv.login.getLoginType(), n = "qq" == e ? "wx" : "qq";
        r.openLoginSingle(null, n), r.reportToBoss({oper: 41, main_type: n})
    })
}, function (t, e, n) {
    function i(t) {
        return t ? (u = $.Deferred(), o(), u) : u ? u : (u || (u = $.Deferred()), d && p && "undefined" != typeof p.adpass ? void u.resolve(p) : (o(), u))
    }

    function o(t) {
        u.done(function (t) {
            t && t.endTime && x(t.endTime)
        }).fail(b), g = !0;
        var e = t ? l.bkapi : l.api;
        $.ajax({
            url: e,
            data: {uin: r.getUin(), t: h ? 1 : 0, getadpass: d ? 1 : 0},
            dataType: "jsonp",
            CSRF: !0,
            timeout: t ? 4e3 : 2e3,
            success: function (t) {
                return t && t.result ? 0 == t.result.code ? (p = t, u.resolve(t), void v.fire(t)) : (u.reject(t), t.result.code == -11 ? (s.emit(c.vipnotlogin), void _({str1: "not login"})) : (s.emit(c.viperror, t.result.code), void _({str1: "cgi return error code:" + t.result.code}))) : (s.emit(c.viperror), u.reject(t), _({str1: "invalid json"}), void 0)
            },
            error: function (e) {
                t ? (e = e || "cgi error", s.emit(c.viperror, "500"), u.reject(), _({str1: e})) : o(!0)
            }
        }).always(function () {
            g = !1
        })
    }

    var r = n(5), a = n(10), s = n(35), c = n(36), l = n(56), u = (n(15), null), f = null, p = null, d = !1, h = !1, g = !1, v = $.Callbacks("unique memory"), m = function () {
        u && (u = null), f && (f = null), p = null
    }, _ = function (t) {
        var e = "http://rcgi.video.qq.com/web_report?cmd=2562&ctype=1&", n = new Image, i = [];
        $.extend(t, {ua: navigator.userAgent});
        for (var o in t)i.push(o + "=" + encodeURIComponent(t[o]));
        e += i.join("&"), n.src = e
    }, y = function () {
        return "fm_v_" + r.getUnicode()
    }, b = function () {
        a.remove(y())
    }, x = function (t) {
        r.isLogin() && "string" == $.type(t) && a.set(y(), [r.getUnicode(), t, (new Date).getTime()].join("|"))
    };
    r.addClearLoginStatusCallback(m), r.addLogoutCallback(m), r.addOpenLoginCallback(m);
    var k = {
        setIsNeedToGetAdPassInfo: function (t) {
            d = !!t
        }, setIsNeedEndTime: function (t) {
            h = !!t
        }, getVipInfo: function (t) {
            var e = $.Deferred();
            return r.isLogin() ? u && !t ? u : i(t) : (e.reject(), e)
        }, addGetVipCallback: function (t) {
            v.add(t)
        }
    };
    t.exports = k
}, function (t, e) {
    t.exports = {
        api: "//pay.video.qq.com/fcgi-bin/payvip?otype=json&getannual=1",
        bkapi: "//bkpay.video.qq.com/fcgi-bin/payvip?otype=json&getannual=1"
    }
}, function (t, e, n) {
    var i = $("#mod_head_vipInfo"), o = $("#mod_head_vipPay"), r = o.find("a"), a = $.Deferred(), s = "开通VIP会员", c = "续费VIP会员", l = {
        init: function (t) {
            0 != i.length && 0 != o.length && t && l.process(t)
        }, loadMiniPay: function () {
            window.define && n(58).cmd ? seajs.config({alias: {"film.pay.minipay": "//qzs.qq.com/tencentvideo_v1/js/txv.flashminipay.min.js"}}).use("film.pay.minipay", function (t) {
                    a.resolve()
                }) : a.reject()
        }, process: function (t) {
            if (1 == t.vip) {
                var e = !1, n = '<span class="acc_txt">您的VIP到期时间为：';
                "HLWHF" == t.servicetype && t.endmsg ? (n += t.endmsg, e = !0) : t.endTime && t.endTime.length > 0 && (n += t.endTime.substr(0, 10)), n += "</span>", l.show(n, c, e)
            } else l.getRelateVip(function (t) {
                var e = '<span class="acc_txt">';
                t ? (e += "您的", e += "wx" == t.bind_type ? "微信" : "QQ", e += "账号", t.account_id && t.account_id.length > 0 && (e += '<span class="name">' + t.account_id + "</span>"), e += '是VIP</span><a href="javacript:;" class="acc_change" data-type="' + t.bind_type + '" id="mod_head_vip_shift">切换</a>', txv.login.reportToBoss({
                        oper: 40,
                        main_type: t.bind_type
                    })) : e += "您还不是VIP会员！</span>", l.show(e, s)
            })
        }, events: function () {
            r.off("click"), r.on("click", function (t) {
                t.preventDefault(), l.openMiniPay()
            }), i.off("click", "#mod_head_vip_shift"), i.on("click", "#mod_head_vip_shift", function (t) {
                t.preventDefault();
                var e = $(this).attr("data-type");
                txv.login.openLoginSingle(null, e), txv.login.reportToBoss({oper: 41, main_type: e})
            })
        }, getRelateVip: function (t) {
            $.ajax({
                url: "//pay.video.qq.com/fcgi-bin/check_bindaccount",
                data: {otype: "json"},
                dataType: "jsonp",
                CSRF: !0,
                success: function (e) {
                    t(e && e.result && 0 == e.result.code && 1 == e.isVip ? e : null)
                },
                error: function (e) {
                    t(null)
                }
            })
        }, openMiniPay: function (t) {
            "function" == typeof $.pay ? $.pay({
                    _source: 79,
                    aid_version: "V0",
                    _scene: "wx" == txv.login.getLoginType() ? 2 : 1
                }) : $.getScript("//qzs.qq.com/tencentvideo_v1/js/txv.flashminipay.min.js", function () {
                    "function" == typeof $.pay && $.pay({
                        _source: 79,
                        aid_version: "V0",
                        _scene: "wx" == txv.login.getLoginType() ? 2 : 1
                    })
                })
        }, show: function (t, e, n) {
            i.html(t), r.html(e), i.show(), n ? o.hide() : o.show()
        }
    };
    txv.login.addReadyCallback(function (t) {
        l.events()
    }), t.exports = {init: l.init}
}, function (t, e) {
    t.exports = function () {
        throw new Error("define cannot be used indirect")
    }
}, function (t, e, n) {
    var i = n(60), o = n(61), r = n(62), a = n(63), s = $(".quick_vip"), c = $(".quick_vip .mod_quick_pop");
    0 == c.length && (i = n(64), o = n(65), r = n(66), a = n(67));
    var l = {notlogin: null, islogin: null}, u = !1, f = !1, p = function (t) {
        return null !== l.islogin ? void t() : void $.ajax({
                url: "//sns.video.qq.com/fcgi-bin/dlib/dataout_pc?auto_id=2433&otype=json",
                dataType: "jsonp",
                CSRF: !0,
                success: function (e) {
                    if (e && 0 == e.returncode)for (var n = 0; n < e.list.length; n++)1 === e.list[n].isvalid && (l[e.list[n].pos] = e.list[n]);
                    t()
                },
                error: function () {
                    t()
                }
            })
    }, d = function () {
        s.unbind();
        var t = 0;
        s.mouseover(function () {
            s.addClass("open"), t > 0 && (clearTimeout(t), t = 0)
        }).mouseout(function () {
            t = setTimeout(function () {
                s.removeClass("open")
            }, 300)
        })
    }, h = !1, g = function () {
        h || (txv.vip.addGetVipCallback(function (t) {
            j(0 === t.vip)
        }), txv.login.addLogoutCallback(function () {
            j()
        }), h = !0)
    }, v = function () {
        "function" == typeof $.pay ? $.pay({
                _source: 90,
                aid_version: "V0",
                _scene: "wx" == txv.login.getLoginType() ? 2 : 8
            }) : $.getScript("//vm.gtimg.cn/tencentvideo_v1/script/vip.minipay.js", function () {
                "function" == typeof $.pay && $.pay({
                    _source: 90,
                    aid_version: "V0",
                    _scene: "wx" == txv.login.getLoginType() ? 2 : 8
                })
            })
    }, m = function () {
        $.ajax({
            url: "//pay.video.qq.com/fcgi-bin/vip_info_all?otype=json",
            dataType: "jsonp",
            CSRF: !0,
            success: function (t) {
                t && t.user_ticket && t.user_ticket.result && 0 == t.user_ticket.result.code && c.find("li.gyq .keyword").html(t.user_ticket.vip_tt), t && t.vip_vouchers && t.vip_vouchers.result && 0 == t.vip_vouchers.result.code && c.find("li.yhq .keyword").html(t.vip_vouchers.total_effective_count), t && t.score_info && t.score_info.result && 0 == t.score_info.result.code && c.find("li.czz .keyword").html(t.score_info.score), t && t.give_movie && t.give_movie.result && 0 == t.give_movie.result.code && c.find("li.zpzg .keyword").html(t.give_movie.leftnum)
            }
        }), $.ajax({
            url: "//pay.video.qq.com/fcgi-bin/order?otype=json&psize=10&pnum=1&t=1",
            dataType: "jsonp",
            CSRF: !0,
            success: function (t) {
                return t && 0 == t.ret && t.total > 0 ? void c.find("li.gmjl .keyword").html(t.total) : (c.find("li.gmjl").remove(), void b(0))
            },
            error: function () {
                c.find("li.gmjl").remove(), b(0)
            }
        }), u || $.ajax({
            url: "//pay.video.qq.com/fcgi-bin/autopay?otype=json",
            dataType: "jsonp", CSRF: !0, success: function (t) {
                t && t.result && 0 == t.result.code && 0 == t.autopay && (0 == $("#quick_user_vip").length ? c.find(".__tips").html().indexOf("开通自动续费") == -1 && c.find(".__tips").append(' <a class="btn_vip_buy" target="_blank" href="http://my.pay.qq.com/account/index.shtml#service">开通自动续费</a>') : c.find(".__tips").next().html().indexOf("开通自动续费") == -1 && c.find(".__tips").after(' <a class="vip_autopay" target="_blank" href="http://my.pay.qq.com/account/index.shtml#service">开通自动续费</a>'))
            }
        })
    }, _ = 0, y = 4, b = function (t) {
        var e = c.find(".quick_pop_vip_info_list li").length;
        _ + t >= 0 && _ + t <= e - y && (_ += t), c.find(".quick_pop_vip_info_list li").hide().each(function (t, e) {
            t >= _ && t < _ + y && $(e).show()
        }), c.find("a.quick_pop_vip_info_list_prev").show(), c.find("a.quick_pop_vip_info_list_next").show(), 0 == _ && c.find("a.quick_pop_vip_info_list_prev").hide(), _ + y >= e && c.find("a.quick_pop_vip_info_list_next").hide()
    }, x = function () {
        c.html(i), c.find(".vip_layer_login").unbind("click").bind("click", function () {
            return txv.login.openLogin({
                success: function () {
                }
            }), f = !0, !1
        }), l.notlogin && c.find(".btn_pop_link").unbind("click").bind("click", function () {
            return window.open(l.notlogin.url), !1
        }).html(l.notlogin.text)
    }, k = function (t) {
        c.html(o);
        var e = (txv.login.getLoginType(), t.endTime.split(" ")), n = e[0].split("-"), i = e[1].split(":"), r = new Date(n[0], n[1] - 1, n[2], i[0], i[1], i[2]), a = Math.ceil((r.getTime() - new Date) / 864e5);
        if ("HLWHF" === t.servicetype) {
            u = !0;
            var s = "按月支付中"
        } else if (a > 7)var s = "会员有效期至 " + t.endTime.substr(0, 10); else var s = "会员还有 " + a + " 天到期";
        c.find(".__tips").html(s), c.find(".btn_pop_link").unbind("click").bind("click", function () {
            return v(), !1
        }), b(0), c.find("a.quick_pop_vip_info_list_prev").click(function () {
            return b(-1), !1
        }), c.find("a.quick_pop_vip_info_list_next").click(function () {
            return b(1), !1
        }), l.islogin && c.find(".btn_pop_link").unbind("click").bind("click", function () {
            return window.open(l.islogin.url), !1
        }).html(l.islogin.text), m()
    }, w = function (t) {
        if (c.html(a), 0 == $("#quick_user_vip").length)if ("wx" === t.bind_type)var e = '您的微信帐号 <span class="keyword">' + t.account_id + '</span> 是会员 <a href="javascript:;" class="btn_vip_change wx">切换</a>'; else var e = '您的QQ帐号 <span class="keyword">' + t.account_id + '</span> 是会员 <a href="javascript:;" class="btn_vip_change qq">切换</a>'; else {
            if ("wx" === t.bind_type)var e = '您的微信帐号 <span class="keyword">' + t.account_id + "</span> 是会员"; else var e = '您的QQ帐号 <span class="keyword">' + t.account_id + "</span> 是会员";
            c.find(".__tips").html(e).after('<a href="javascript:;" class="vip_autopay" data-type="switchlogin">切换</a>')
        }
        c.find(".vip_txt").html(e), c.find(".btn_pop_link").unbind("click").bind("click", function () {
            return v(), !1
        }), c.find(".btn_vip_change").unbind("click").bind("click", function () {
            return txv.login.openLoginSingle({
                success: function () {
                }
            }, t.bind_type), !1
        })
    }, C = function () {
        c.html(r), txv.login.isLogin() && c.find("p.vip_txt").hide(), c.find(".btn_pop_link").unbind("click").bind("click", function () {
            return v(), !1
        }), l.notlogin && c.find(".btn_pop_link").unbind("click").bind("click", function () {
            return window.open(l.notlogin.url), !1
        }).html(l.notlogin.text)
    }, T = function () {
        c.html(a), c.find(".__tips").html("VIP已过期，重新开通恢复特权"), c.find(".btn_pop_link").unbind("click").bind("click", function () {
            return v(), !1
        }), l.islogin && c.find(".btn_pop_link").unbind("click").bind("click", function () {
            return window.open(l.islogin.url), !1
        }).html(l.islogin.text)
    }, q = function () {
        $.ajax({
            url: "//pay.video.qq.com/fcgi-bin/payvip?otype=json",
            dataType: "jsonp",
            CSRF: !0,
            success: function (t) {
                if (t && t.result && 0 == t.result.code)if (1 == t.vip) k(t); else {
                    var e = t;
                    $.ajax({
                        url: "//pay.video.qq.com/fcgi-bin/check_bindaccount?otype=json",
                        dataType: "jsonp",
                        CSRF: !0,
                        success: function (t) {
                            t && t.result && 0 == t.result.code ? 1 == t.isVip ? w(t) : "" !== e.endTime ? T() : C() : C()
                        },
                        error: function (t) {
                            C()
                        }
                    })
                } else C()
            },
            error: function () {
                C()
            }
        })
    }, j = function (t) {
        var e = !1;
        0 == c.length && (c = $("#quick_user_vip"), e = !0, 0 == c.length) || p(function () {
            txv.login.isLogin() ? q() : e || x(), d(), g(), t && f && (v(), f = !1), $.extend(txv.util, {
                showFixedWindow: function (t, e, n, i) {
                    if (t) {
                        var o, r = window == top, a = r ? document : top.document, s = a.body.scrollTop, c = a.documentElement.clientHeight, l = $(t);
                        e = e || l.width() || 373, n = n || l.height() || 235, i = i === !1, 0 == s && (s = a.documentElement.scrollTop), 0 == c && (c = a.body.clientHeight), o = parseInt(l.css("zIndex")), l.css({
                            width: e + "px",
                            height: n + "px",
                            top: "50%",
                            left: "50%",
                            marginLeft: -e / 2 + "px",
                            marginTop: -n / 2 + "px",
                            position: "fixed",
                            zIndex: o || "10001",
                            display: "block"
                        })
                    }
                }
            })
        })
    };
    j()
}, function (t, e) {
    var n = '<div class="quick_pop_inner">\t\t\t\t\t\t<i class="triangle_up triangle_up_wrap"><i class="triangle_up"></i></i>\t\t\t\t\t\t<div class="pop_info_content">\t\t\t\t\t\t\t<div class="quick_pop_vip_login">\t\t\t\t\t\t\t\t<div class="quick_pop_btn">\t\t\t\t\t\t\t\t\t<a href="javascript:void(0);" class="btn_pop_link vip_layer_login">开通VIP 大片免费看</a>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<p class="vip_txt">已是VIP请 <a href="javascript:;" class="keyword vip_layer_login">登录</a></p>\t\t\t\t\t\t\t\t<div class="vip_login_info cf">\t\t\t\t\t\t\t\t\t<div class="item item_1">\t\t\t\t\t\t\t\t\t\t<a target="_blank" href="http://film.qq.com/vip/vip_privilege_detail.html?s_title=%E9%99%A2%E7%BA%BF%E6%96%B0%E7%89%87" class="item_link"><i class="icon_lg icon_film_lg"><svg class="svg_icon svg_icon_film_lg" viewBox="0 0 36 36"><use xlink:href="#svg_icon_film_lg"></use></svg></i><span class="icon_text">院线新片</span></a>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t<div class="item item_2">\t\t\t\t\t\t\t\t\t\t<a target="_blank" href="http://film.qq.com/vip/vip_privilege_detail.html?s_title=%E5%85%8D%E5%B9%BF%E5%91%8A" class="item_link"><i class="icon_lg icon_noad_lg"><svg class="svg_icon svg_icon_noad_lg" viewBox="0 0 36 36"><use xlink:href="#svg_icon_noad_lg"></use></svg></i><span class="icon_text">免广告</span></a>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t<div class="item item_3">\t\t\t\t\t\t\t\t\t\t<a target="_blank" href="http://film.qq.com/vip/vip_privilege_detail.html?s_title=1080P%E7%94%BB%E8%B4%A8" class="item_link"><i class="icon_lg icon_hd_lg"><svg class="svg_icon svg_icon_hd_lg" viewBox="0 0 36 36"><use xlink:href="#svg_icon_hd_lg"></use></svg></i><span class="icon_text">蓝光高清</span></a>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>\t\t\t\t\t</div>';
    t.exports = n
}, function (t, e) {
    var n = '<div class="quick_pop_inner">\t                <i class="triangle_up triangle_up_wrap"><i class="triangle_up"></i></i>\t                <div class="pop_info_content">\t                    <div class="quick_pop_vip_info">\t                        <div class="quick_pop_vip_info_hd">\t                            <ul class="quick_pop_vip_info_list cf">\t                                <li class="quick_pop_vip_info_item gyq">\t                                    <a href="http://v.qq.com/u/hlw/hlw_index.html" target="_blank"><p class="keyword">0</p>\t                                    <p class="desc">观影券</p>\t                                    </a>\t                                </li>\t                                <li class="quick_pop_vip_info_item czz">\t                                    <a href="http://v.qq.com/u/hlw/hlw_index.html" target="_blank"><p class="keyword">0</p>\t                                    <p class="desc">成长值</p>\t                                    </a>\t                                </li>\t                                <li class="quick_pop_vip_info_item yhq">\t                                    <p class="keyword">0</p>\t                                    <p class="desc">优惠券</p>\t                                </li>\t                                <li class="quick_pop_vip_info_item gmjl">\t                                    <a href="http://v.qq.com/u/hlw/hlw_index.html?tab=2" target="_blank"><p class="keyword">0</p>\t                                    <p class="desc">购买记录</p>\t                                    </a>\t                                </li>\t                                <li class="quick_pop_vip_info_item zpzg">\t                                    <a href="http://v.qq.com/u/hlw/hlw_index.html?tab=3" target="_blank"><p class="keyword">0</p>\t                                    <p class="desc">赠片资格</p>\t                                    </a>\t                                </li>\t                            </ul>\t                            <a href="javascript:;" class="quick_pop_vip_info_list_prev">\t                                <i class="iconfont"></i>\t                            </a>\t                            <a href="javascript:;" class="quick_pop_vip_info_list_next">\t                                <i class="iconfont"></i>\t                            </a>\t                        </div>\t                        <div class="quick_pop_vip_info_bd">\t                            <p class="vip_txt __tips">你的会员还有3天到期</p>\t                            <div class="quick_pop_btn">\t                                <a href="javascript:;" class="btn_pop_link">续费VIP 免费看大片</a>\t                            </div>\t                        </div>\t                    </div>\t                </div>\t            </div>\t        </div>';
    t.exports = n
}, function (t, e) {
    var n = '<div class="quick_pop_inner">\t                <i class="triangle_up triangle_up_wrap"><i class="triangle_up"></i></i>\t                <div class="pop_info_content">\t                    <div class="quick_pop_vip_login">\t                        <div class="quick_pop_btn">\t                            <a href="javascript:;" class="btn_pop_link">开通VIP 免费看大片</a>\t                        </div>\t                        <p class="vip_txt">已是VIP请 <a href="javascript:;" class="keyword">登录</a></p>\t                        <div class="vip_login_info cf">\t                            <div class="item item_1">\t                                <a target="_blank" href="http://film.qq.com/vip/vip_privilege_detail.html?s_title=%E9%99%A2%E7%BA%BF%E6%96%B0%E7%89%87" class="item_link"><i class="icon_lg icon_film_lg"><svg class="svg_icon svg_icon_film_lg" viewBox="0 0 36 36"><use xlink:href="#svg_icon_film_lg"></use></svg></i><span class="icon_text">院线新片</span></a>\t                            </div>\t                            <div class="item item_2">\t                                <a target="_blank" href="http://film.qq.com/vip/vip_privilege_detail.html?s_title=%E5%85%8D%E5%B9%BF%E5%91%8A" class="item_link"><i class="icon_lg icon_noad_lg"><svg class="svg_icon svg_icon_noad_lg" viewBox="0 0 36 36"><use xlink:href="#svg_icon_noad_lg"></use></svg></i><span class="icon_text">免广告</span></a>\t                            </div>\t                            <div class="item item_3">\t                                <a target="_blank" href="http://film.qq.com/vip/vip_privilege_detail.html?s_title=1080P%E7%94%BB%E8%B4%A8" class="item_link"><i class="icon_lg icon_hd_lg"><svg class="svg_icon svg_icon_hd_lg" viewBox="0 0 36 36"><use xlink:href="#svg_icon_hd_lg"></use></svg></i><span class="icon_text">蓝光高清</span></a>\t                            </div>\t                        </div>\t                    </div>\t                </div>\t            </div>';
    t.exports = n
}, function (t, e) {
    var n = '<div class="quick_pop_inner">\t                    <i class="triangle_up triangle_up_wrap"><i class="triangle_up"></i></i>\t                    <div class="pop_info_content">\t                        <div class="quick_pop_vip_buy">\t                            <div class="quick_pop_btn">\t                                <a href="javascript:;" class="btn_pop_link">开通VIP 免费看大片</a>\t                            </div>\t                            <p class="vip_txt __tips">你的微信帐号 \t                                <span class="keyword">差不多先生</span> 是会员\t                                <a href="javascript:;" class="btn_vip_change">切换</a>\t                            </p>\t                            <div class="vip_login_info cf">\t\t\t\t\t\t\t\t\t<div class="item item_1">\t\t\t\t\t\t\t\t\t\t<a target="_blank" href="http://film.qq.com/vip/vip_privilege_detail.html?s_title=%E9%99%A2%E7%BA%BF%E6%96%B0%E7%89%87" class="item_link"><i class="icon_lg icon_film_lg"><svg class="svg_icon svg_icon_film_lg" viewBox="0 0 36 36"><use xlink:href="#svg_icon_film_lg"></use></svg></i><span class="icon_text">院线新片</span></a>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t<div class="item item_2">\t\t\t\t\t\t\t\t\t\t<a target="_blank" href="http://film.qq.com/vip/vip_privilege_detail.html?s_title=%E5%85%8D%E5%B9%BF%E5%91%8A" class="item_link"><i class="icon_lg icon_noad_lg"><svg class="svg_icon svg_icon_noad_lg" viewBox="0 0 36 36"><use xlink:href="#svg_icon_noad_lg"></use></svg></i><span class="icon_text">免广告</span></a>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t<div class="item item_3">\t\t\t\t\t\t\t\t\t\t<a target="_blank" href="http://film.qq.com/vip/vip_privilege_detail.html?s_title=1080P%E7%94%BB%E8%B4%A8" class="item_link"><i class="icon_lg icon_hd_lg"><svg class="svg_icon svg_icon_hd_lg" viewBox="0 0 36 36"><use xlink:href="#svg_icon_hd_lg"></use></svg></i><span class="icon_text">蓝光高清</span></a>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t</div>\t                        </div>\t                    </div>\t                </div>';
    t.exports = n
}, function (t, e) {
    var n = '<div class="quick_vip_btn">\t\t\t\t\t\t<a href="javascript:void(0);" class="btn_pop_link vip_layer_login">开通VIP 大片免费看</a>\t\t\t\t\t</div>\t\t\t\t\t<p class="vip_txt">已是VIP请 <a href="javascript:;" class="keyword vip_layer_login">登录</a></p>\t\t\t\t\t';
    t.exports = n
}, function (t, e) {
    var n = '<span class="quick_vip_expire __tips">你的会员还有3天到期</span>\t            <div class="quick_vip_btn">\t                <a href="javascript:;" class="btn_pop_link">续费VIP 免费看大片</a>\t            </div>\t        ';
    t.exports = n
}, function (t, e) {
    var n = '<span class="quick_vip_expire __tips"></span>\t                    <div class="quick_vip_btn">\t                    <a href="javascript:;" class="btn_pop_link">开通VIP 免费看大片</a>\t                </div>\t                <p class="vip_txt">已是VIP请 <a href="javascript:;" class="keyword">登录</a></p>\t                ';
    t.exports = n
}, function (t, e) {
    var n = '<span class="quick_vip_expire center __tips">\t                    你的微信帐号<span class="keyword">差不多先生</span> 是会员\t                    <a href="javascript:;" class="btn_vip_change">切换</a></span>\t                    <div class="quick_vip_btn">\t                        <a href="javascript:;" class="btn_pop_link">开通VIP 免费看大片</a>\t                    </div>\t                    ';
    t.exports = n
}, function (t, e, n) {
    function i(t) {
        o().done(function (e) {
            a = e, t.html(s.render(e))
        }).fail(function () {
            t.html(s.error())
        })
    }

    function o() {
        var t = $.Deferred();
        return $.ajax({
            url: "//like.video.qq.com/fcgi-bin/flw_new?otype=json&sn=FollowServer&cmd=2567",
            data: {pidx: 0, size: 5, dtype: 0, platform: 2},
            CSRF: !0,
            dataType: "jsonp",
            success: function (e) {
                return e && 0 == e.ret ? void t.resolve(e.follow) : void t.reject()
            },
            error: function () {
                t.reject()
            }
        }), t.promise()
    }

    var r = n(5), a = null, s = n(69);
    r.addReadyCallback(function () {
        var t = $("#modPlaylist"), e = $("#playlistcontent"), n = null;
        t.on("click", ".quick_link", function (t) {
            if (!r.isLogin())return t.preventDefault(), void r.openLogin()
        }), t.on("mouseenter", function () {
            r.isLogin() && (clearTimeout(n), t.addClass("open"), a || i(e))
        }).on("mouseleave", function () {
            n = setTimeout(function () {
                t.removeClass("open")
            }, 300)
        }), r.addLogoutCallback(function () {
            e.html(s.loading()), a = null
        })
    })
}, function (t, e, n) {
    function i(t) {
        for (var e = '<div class="pop_playlist_wrap">{content}</div>', n = "", i = 0, u = t.length; i < u; i++) {
            var f = t[i];
            $.extend(t[i], l.format(f)), n += txv.util.format(s.replace("{diff}", f.__living ? r : a), f)
        }
        return n.length > 0 ? e.replace(/{content}/, n + c) : o
    }

    var o = '<div class="pop_info_content"><div class="quick_pop_empty"><i class="icon_xl icon_collect_xl"><svg class="svg_icon svg_icon_collect_xl" viewBox="0 0 72 72"><path d="M68.69 33.969A1.485 1.485 0 0 1 67.285 35a1.5 1.5 0 0 1-1.5-1.5c0-.312.118-.585.281-.826l-.019-.013c3.303-5.647 2.307-13.163-2.539-18.009C61.427 12.569 57.472 10 52.022 10c-7.544 0-11.148 4.445-14.016 7.182l-2.019 2.299-2.049-2.393C31.069 14.352 27.434 10 19.858 10c-4.979 0-8.373 1.95-11.351 4.661-5.965 5.42-5.838 15.379-.386 20.831l20.588 17.41-.05.028 8.798 7.379-.011.013c.289.273.474.654.474 1.083a1.5 1.5 0 0 1-1.5 1.5c-.369 0-.695-.148-.957-.369l-.011.012L6.584 38.223c-7.417-7.192-7.417-18.731-.109-25.82C10.058 8.921 14.84 7 19.933 7c5.096 0 9.876 1.919 13.465 5.403L36 14.931l2.603-2.527C42.189 8.919 46.97 7 52.066 7c5.095 0 9.876 1.919 13.462 5.404 6.008 5.832 7.041 14.663 3.162 21.565zM36 63.01l-.002-.001h.004L36 63.01zM47.5 51H57v-8.5a1.5 1.5 0 1 1 3 0V51h8.5a1.5 1.5 0 1 1 0 3H60v9.5a1.5 1.5 0 1 1-3 0V54h-9.5a1.5 1.5 0 1 1 0-3z"></path></svg></i> <p class="empty_txt">您暂时还没有看单！</p> </div> <div class="quick_pop_btn"> <a href="http://v.qq.com/zhuiju/" target="_blank" class="btn_pop_link">开始追个剧吧</a> </div> </div>', r = '<span class="hl"><i class="icon_sm icon_video_sm"><svg class="svg_icon svg_icon_video_sm" viewBox="0 0 16 16"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#svg_icon_video_sm"></use></svg></i><span class="icon_text">正在直播</span></span>', a = '<span class="item_desc">{desc}</span>', s = '<div class="item"><a class="item_link" href="{href}" target="{target}"><span class="item_title">{title}</span>{diff}</a></div>', c = '<div class="quick_pop_btn"><a href="http://v.qq.com/u/playlist.html" target="_blank" class="btn_pop_link">查看更多</a></div>', l = n(70);
    t.exports = {
        render: i, error: function () {
        }, loading: function () {
            return '<div class="mod_loading"></div>'
        }
    }
}, function (t, e) {
    var n = {
        format: function (t) {
            var e = {
                href: "",
                title: ["[", t.type_name, "]", " ", t.title].join(""),
                target: "_blank",
                desc: t.update_title || "",
                __living: !1
            };
            return t.cid ? e.href = "/x/cover/" + t.cid + ".html" : t.vid ? e.href = "/x/page/" + t.vid + ".html" : t.lid ? e.href = "http://v.qq.com/detail/" + [(t.lid + "").substr(0, 1), t.lid].join("/") + ".html" : t.pid && (e.href = t.play_url, "直播中" == t.update_title && (e.__living = !0)), e
        }
    };
    t.exports = n
}, function (t, e, n) {
    function i() {
        function t(e) {
            e.pageX < r && e.pageX > n && e.pageY > i && e.pageY < a || ($("body").off("mousemove", t), s())
        }

        if (G = E.isLogin(), x = $(tt), at = txv.ua.windows, x.length > 0) {
            B.init({target: x}), x.append(R({})), u(), h();
            var e = $("._start_pc_client");
            if (at) {
                if (!z() && !txv.ua.ie) {
                    var n, i, r, a;
                    S = txv.clipboard.to({
                        el: e[0],
                        text: "qqlivechannel=channel1.grow_nav_download",
                        mouseenter: function () {
                            e.css({color: "#ffffff", "background-color": "#ff920b"}), x.off("mouseleave");
                            var o = $("._pop_vcoin"), s = o.offset();
                            n = s.left, i = s.top, r = n + o.outerWidth(), a = i + o.outerHeight(), $("body").on("mousemove", t)
                        },
                        click: function () {
                            e.css({color: "#ff920b", "background-color": "#ffffff"})
                        },
                        mouseleave: function () {
                            e.css({
                                color: "#ff920b",
                                "background-color": "#ffffff"
                            }), x.on("mouseleave", s), $("body").off("mousemove", t)
                        }
                    })
                }
            } else e.addClass("btn_disable");
            x.off("click").on("click", ".quick_link", function () {
                D(46), o.apply(this, ["hide"])
            }).on("click", "._start_pc_client", function () {
                D(55), at && (o.apply(this, ["hide"]), N.exist().done(function () {
                    D(52), N.open("qqlive://sso/showgrowthtips=1&atag=web.grow_nav_start").fail(function () {
                        try {
                            window.location.assign("//node.video.qq.com/x/api/download_pc")
                        } catch (t) {
                            window.open("http://v.qq.com/download.html", "_blank")
                        }
                    })
                }).fail(function () {
                    try {
                        window.location.assign("//node.video.qq.com/x/api/download_pc")
                    } catch (t) {
                        window.open("http://v.qq.com/download.html", "_blank")
                    }
                }))
            })
        }
    }

    function o(t) {
        "show" == t ? x.addClass("open") : x.removeClass("open")
    }

    function r() {
        !ot && D(45), $("._task_exchange_gift").off("click").on("click", function () {
            D(51), o("hide")
        }), o.apply(this, ["show"]), ot = !0
    }

    function a() {
        clearTimeout(nt), x.hasClass("open") || ($("._task_web_tips").remove(), $("._task_vcoin_animation").remove(), x.css("position", ""), x.addClass("open"), Q ? (g(K), r()) : f(r))
    }

    function s() {
        nt = setTimeout(function () {
            ot = !1, o.apply(this, ["hide"]), E.isLogin() || (A.set(Y, Math.floor(+new Date / 864e5)), g()), j && j.bindEl(), Q = null
        }, it)
    }

    function c() {
        x.on("mouseenter", a).on("mouseleave", s), l()
    }

    function l() {
        var t = $("._tips_list");
        t.off("mouseenter").on("mouseenter", function () {
            rt = !0
        }).off("mouseleave").on("mouseleave", function () {
            rt = !1
        })
    }

    function u() {
        function t(a) {
            a.pageX < o && a.pageX > n && a.pageY > i && a.pageY < r || ($("body").off("mousemove", t), e.css({
                color: "#ff920b",
                "background-color": "#ffffff"
            }), s())
        }

        if (c(), txv.clipboard && $("._do_task").length > 0) {
            var e = $('._task_item ._do_task[data-id="23"]');
            if (!z()) {
                var n, i, o, r;
                j = txv.clipboard.to({
                    el: e[0],
                    text: "qqlivechannel=channel1.grow_nav_download",
                    mouseenter: function () {
                        e.css({color: "#ffffff", "background-color": "#ff920b"}), x.off("mouseleave");
                        var a = $("._pop_vcoin"), s = a.offset();
                        n = s.left, i = s.top, o = n + a.outerWidth(), r = i + a.outerHeight(), $("body").on("mousemove", t)
                    },
                    click: function () {
                        e.css({color: "#ff920b", "background-color": "#ffffff"})
                    },
                    mouseleave: function () {
                        e.css({
                            color: "#ff920b",
                            "background-color": "#ffffff"
                        }), x.on("mouseleave", s), $("body").off("mousemove", t), l()
                    }
                })
            }
        }
    }

    function f(t) {
        M(function (e, n) {
            if (V = !1, $("._loading_tips").hide(), $("._error_tips").show(), W = !(!e && 0 === n.ret), Q = {}, W) m(null, t), $("._task_list").hide(), Q = null; else {
                var i = n.result || [], o = n.extinfo && n.extinfo.split("/") || ["0", "0"], r = /\{\%keyword:\s*(\+\d*)\%\}/, a = [];
                Q.todayVcoin = +o[0], Q.todayTotalVcoin = +o[1], Q.isLogin = E.isLogin(), Q.tips = [], $.each(i, function (t, e) {
                    if (!(a.length >= 4)) {
                        var n = F(e), i = n.task, o = n.id, s = {}, c = {}, l = i.stExtInfo.split("/") || [0, 0];
                        if (i.taskDesc)try {
                            s = $.parseJSON(i.taskDesc).web
                        } catch (u) {
                        }
                        var f = s.taskBonus && s.taskBonus.match(r)[1] || s.bonus && s.bonus.match(r)[1];
                        if (X[o] = s, i.VideoId && (k = i.VideoId), i.VideoName && (w = i.VideoName), i.videoType && (C = i.videoType), c["static"] = s["static"] || 0, c.id = o, (!i.iStatus || c["static"]) && "undefined" != typeof s.showArea && s.showArea && /web\-task/.test(s.showArea)) {
                            if (c.icon = s.webTaskImg && s.webTaskImg.replace(/([0-9a-zA-Z\_\-]*)\.png$/, "$1_mini.png"), c.title = s.taskTitle || s.title, i.signInfo) {
                                K = !!i.iStatus;
                                var p = $.parseJSON(i.signInfo);
                                c.vcoin = "+" + p.today;
                                var d = p.count;
                                c.current = "", i.iStatus ? c.total = '已连续签到<span class="hl">' + d + '</span>天，明日可领<span class="hl">' + p.tomorrow + "</span>V币" : c.total = '已连续签到<span class="hl">' + d + "</span>天", g()
                            } else c.vcoin = f, c.current = l[0], c.total = "/" + l[1];
                            23 == o ? c.isSupport = at : c.isSupport = !0, c.action = s.webAction || {
                                    beforeClass: "",
                                    afterClass: "",
                                    beforeText: "做任务",
                                    afterText: "已完成"
                                }, c.iStatus = i.iStatus, c.webTaskBossTarget = s.webTaskBossTarget || "", c["static"] ? a.unshift(c) : a.push(c)
                        }
                    }
                }), Q.list = a, Q.allFinshed = 1 == a.length, w && Q.tips.push("今日任务推荐热剧《" + w + "》"), at ? Q.tips.push('PC客户端领V币有加速，<a href="javascript:;" class="_do_task" data-bosstarget="49" data-id="23" style="color: #ff920b; ">快去使用</a>') : Q.tips.push("PC客户端领V币有加速，快去使用"), m(Q, t)
            }
        })()
    }

    function p() {
        M(function (t, e) {
            if (t) K = !1, g(); else {
                var n = e.result || [];
                0 == n.length ? (K = !1, g()) : $.each(n, function (t, e) {
                        var n = F(e), i = n.task || {};
                        if (i.signInfo)return K = !!i.iStatus, g(), !1
                    })
            }
        })()
    }

    function d() {
        var t = $(tt + " .dot_notice");
        t.length > 0 ? t.show() : $(tt + " > a").append('<i class="dot_notice"></i>')
    }

    function h() {
        if (E.isLogin()) p(); else {
            var t = Math.floor(+new Date / 864e5), e = A.get(Y);
            e ? +e < t && d() : d()
        }
    }

    function g() {
        var t = $(tt + " .dot_notice");
        if (E.isLogin()) K ? t.remove() : d(); else {
            var e = Math.floor(+new Date / 864e5), n = A.get(Y);
            n ? +n < e ? d() : t.remove() : d()
        }
    }

    function v() {
        var t = $("._tip_item");
        if (clearInterval(T), clearTimeout(q), t.length >= 2) {
            if (!U("animation"))return t.removeClass("tip_item").hide(), void t.eq(0).show();
            t.removeClass("active").hide(), t.eq(J).fadeIn(200), T = setInterval(function () {
                rt || (t.eq(J).fadeOut(200, function () {
                    t.eq(J).fadeIn(200)
                }), J = 1 === J ? 0 : 1)
            }, 3e3)
        } else t.removeClass("tip_item").show()
    }

    function m(t, e) {
        if ($("._task_error").hide(), t) {
            t.loadError = !1, t.errorTips = "", x.off("mouseenter").off("mouseleave");
            var n = O(t), i = $(et);
            i.html(n).show(), setTimeout(function () {
                u()
            }, 100), e && e(), _(), v(), $("._btn_login").off("click").on("click", function () {
                txv.login.openLogin(), D(51)
            }), $("._pop_vcoin").off("click").on("click", "._do_task", function () {
                var t = $(this).data("id"), e = X[t], n = $(this).data("bosstarget");
                if (n && D(n), 23 != t && !E.isLogin())return void txv.login.openLogin();
                var i = $(this);
                if (e) {
                    var r = e.action.url;
                    if (t === Z) I({taskid: t, url: r}, function (t) {
                        t ? toast(t) : (i.parents("._task_item").addClass("task_item_done"), i.text("已签到"), setTimeout(function () {
                                f()
                            }, 500))
                    }); else if (/^(http|https)/.test(r)) {
                        var a = k && txv.util.getPlayUrl(k) || "http://v.qq.com";
                        window.open(a, "_blank"), o("hide")
                    } else r && new Function(r)(), o("hide")
                }
            })
        } else $("._task_error").show(), $(et).hide(), e && e(), _(), $("._task_reload").off("click").on("click", function () {
            $("._loading_tips").show(), $("._error_tips").hide(), setTimeout(function () {
                f(e)
            }, 1e3)
        })
    }

    function _() {
        var t = $("._task_total_vcoin"), e = $("._task_add_vcoin");
        if (E.isLogin()) {
            var n = txv.login.getSkey();
            $.ajax({
                url: "//buy.video.qq.com/fcgi-bin/paycheck",
                data: {
                    cmd: 59853,
                    low_login: 1,
                    platform: 2,
                    pf: "qq_m_qq-2001-html5-2011",
                    coin_type: "2",
                    g_tk: n ? $.time33(n) : "",
                    otype: "json"
                },
                CSRF: !0,
                dataType: "jsonp",
                success: function (n) {
                    if (0 === n.ret) {
                        for (var i = n.myProperty || [0, 0], o = 0; o < i.length; o++)if (2 === i[o].propertyType) {
                            var r = i[o].propertyCount;
                            t.text(r);
                            var a = txv.login.getUin() || txv.login.getWxAuthCookies() && txv.login.getWxAuthCookies().openid, s = "user_task_vcoin_" + a, c = A.get(s) || 0, l = 0;
                            null == c && c > 0 ? l = r : c < r && (l = r - c), A.set(s, r), e.text("+" + l), l > 0 ? e.show() : e.hide(), setTimeout(function () {
                                e.hide()
                            }, 3e3)
                        }
                    } else t.text(0), e.hide()
                },
                error: function () {
                    t.text(0), e.hide()
                }
            })
        } else t.text(0), e.hide()
    }

    function y(t) {
        var e = new Date;
        $.ajax({
            url: "//growth.video.qq.com/fcgi-bin/query_growth_task_status",
            data: {platform: 2, taskid: "[]", otype: "json"},
            CSRF: !0,
            dataType: "jsonp",
            success: function (n) {
                t && t(null, n);
                var i = (new Date - e) / 1e3;
                n && 0 !== n.ret && P({
                    url: "//growth.video.qq.com/fcgi-bin/query_growth_task_status",
                    msg: n.ret + ", time: " + i + " s"
                })
            },
            error: function (n) {
                t && t(n);
                var i = (new Date - e) / 1e3, o = "";
                "undefined" != typeof JSON && "undefined" != typeof JSON.stringify && (o = JSON.stringify(n)), P({
                    url: "//growth.video.qq.com/fcgi-bin/query_growth_task_status",
                    msg: "error: " + o + ", time: " + i + " s"
                })
            }
        })
    }

    function b() {
        D(53);
        try {
            window.location.assign("//node.video.qq.com/x/api/download_pc")
        } catch (t) {
            window.open("http://v.qq.com/download.html", "_blank")
        }
    }

    var x, k, w, C, T, q, j, S, E = n(5), L = n(72), N = n(73), I = n(74), A = n(76), O = n(77), B = n(78), R = n(82), D = n(81), P = n(75), M = L(y), H = n(83), F = H.getTask, U = H.isSupportCss3, z = H.isSougouIE11, W = !1, V = !0, Q = null, X = {}, G = !1, J = 0, Y = "nav_vcoin_red_dot", K = !1, Z = 27, tt = ".quick_vcoin", et = "._task_container", nt = null, it = 300, ot = !1, rt = !1, at = !0;
    E.addReadyCallback(function () {
        i()
    }), E.addLogoutCallback(function () {
        Q = null, h()
    }), E.addUserInfoChangedCallback(function () {
        Q = null, h()
    }), E.addLoginCallback(function () {
        Q = null, h()
    }), window.openClient || (window.openClient = function (t) {
        at && N.exist().done(function () {
            D(52);
            var e = t ? $(t) : $(window.event && window.event.srcElement), n = e.data("tag") || "web.grow_nav_start";
            e && e.hasClass("j_mod_btn") && (n = "web.grow_wallet_start"), N.open("qqlive://sso/atag=" + n).fail(b)
        }).fail(b)
    })
}, function (t, e) {
    t.exports = function (t) {
        if ("function" != typeof t)throw new Error("arguments of thunkify must be a function");
        return function () {
            for (var e = new Array(arguments.length), n = this, i = 0; i < e.length; ++i)e[i] = arguments[i];
            return function (i) {
                var o;
                e.push(function () {
                    o || (o = !0, i.apply(null, arguments))
                });
                try {
                    t.apply(n, e)
                } catch (r) {
                    i(r)
                }
            }
        }
    }
}, function (t, e) {
    function n(t) {
        l = !1;
        var e = u, n = e.shift();
        for (u = []; n;)n(t), n = e.shift()
    }

    function i(t) {
        txv.client ? t(txv.client) : l ? u.push(t) : (l = !0, u.push(t), $.getScript("//vm.gtimg.cn/tencentvideo_v1/script/module/txv.client1_0_4.js", function () {
                    l && n(txv.client)
                }), setTimeout(function () {
                    l && n()
                }, 3e3))
    }

    function o(t) {
        var e = p, n = e.shift();
        for (p = []; n;)t ? n.resolve(t) : n.reject(), n = e.shift();
        f = !1
    }

    function r(t, e, n) {
        var r = $.Deferred();
        return p.push(r), f || (f = !0, i(function (i) {
            i ? i.exist(t, e, n).done(function (t) {
                    o(t)
                }).fail(function () {
                    o()
                }) : o()
        })), r
    }

    function a(t, e, n, o) {
        var r = $.Deferred();
        return i(function (i) {
            i ? i.open(t, e, n, o).done(function () {
                    r.resolve()
                }).fail(function () {
                    r.reject()
                }) : r.reject()
        }), r
    }

    function s() {
        var t = $.Deferred();
        return i(function (e) {
            e ? e.pull().done(function () {
                    t.resolve()
                }).fail(function (e) {
                    t.reject(e)
                }) : t.reject(-1)
        }), t
    }

    function c() {
        return r(!0, !1, !0)
    }

    var l = !1, u = [], f = !1, p = [];
    t.exports = {exist: r, open: a, pull: s, hasService: c}
}, function (t, e, n) {
    var i = n(75);
    t.exports = function (t, e) {
        var n = new Date;
        $.ajax({
            url: t.url,
            data: {otype: "json", taskid: t.taskid, platform: "2"},
            dataType: "jsonp",
            success: function (o) {
                o && 0 == o.ret ? e && e() : e("ǩ��ʧ����~�����³���һ��");
                var r = (new Date - n) / 1e3;
                o && 0 !== o.ret && i({url: t.url, msg: o.ret + ", time: " + r + " s"})
            },
            error: function (o) {
                var r = (new Date - n) / 1e3;
                "undefined" != typeof JSON && "undefined" != typeof JSON.stringify && (msg = JSON.stringify(o)), i({
                    url: t.url,
                    msg: "error: " + msg + ", time: " + r + " s"
                }), e("ǩ��ʧ����~�����³���һ��")
            }
        })
    }
}, function (t, e, n) {
    function i(t) {
        var e = [];
        !r.uin && (r.uin = txv.login.getUin() || ""), !r.openid && (r.openid = txv.login.getWxAuthCookies() ? txv.login.getWxAuthCookies().openid : ""), r.uuid = a && "function" == typeof a.uid && a.uid() || txv.cookie.get("tvfe_boss_uuid"), r.msg = t.msg || "", r.url = t.url || location.href;
        for (var n in r)r.hasOwnProperty(n) && e.push(n + "=" + encodeURIComponent(r[n]));
        var i = o + e.join("&"), s = new Image(1, 1);
        s.src = i
    }

    var o = "//btrace.qq.com/kvcollect?", r = {
        BossId: 4068,
        Pwd: 1677251442,
        url: location.href,
        uin: "",
        openid: "",
        target: 10,
        _dc: Math.random(),
        ua: navigator.userAgent
    }, a = n(23);
    t.exports = i
}, function (t, e) {
    t.exports = {
        get: function (t) {
            if ("undefined" != typeof localStorage && "undefined" != typeof localStorage.getItem)return localStorage.getItem(t)
        }, set: function (t, e) {
            if ("undefined" != typeof localStorage && "undefined" != typeof localStorage.getItem)return localStorage.setItem(t, e)
        }
    }
}, function (module, exports) {
    module.exports = function (d) {
        with (d)return '<div class="task_list">\n    ' + (function () {
                return loadError ? "\n    " : "\n        " + (d.list || []).map(function (t, e) {
                        return '\n            <div class="task_item _task_item ' + (function () {
                                if (t.iStatus || !t.isSupport)return " task_item_done "
                            }() || "") + '" data-id="' + t.id + '">\n                 <span class="task_img">\n                    <img src="' + t.icon + '">\n                 </span>\n                <div class="task_tit">' + t.title + '<span class="desc"><em class="hl">' + t.vcoin + '</em></span></div>\n                <div class="task_desc">\n                    <span class="hl _task_item_current_progress">' + t.current + '</span>\n                    <span class="_task_item_total_progress">' + t.total + "</span>\n                </div>\n                " + (function () {
                                return 27 == t.id ? "\n                    " + (function () {
                                        return t.iStatus ? '\n                        <a href="javascript:;" class="btn_normal">已签到</a>\n                        <!--<a href="javascript:;" class="btn_normal btn_sign _do_task"-->\n                           <!--data-id="' + t.id + '">签到</a>-->\n                    ' : '\n                        <a href="javascript:;" class="btn_normal btn_sign _do_task"\n                            data-bosstarget="' + t.webTaskBossTarget + '"\n                            data-id="' + t.id + '">签到</a>\n                    '
                                    }() || "") + "\n                " : '\n                    <a href="javascript:;" class="btn_normal _do_task"\n                        data-id="' + t.id + '"\n                        data-bosstarget="' + t.webTaskBossTarget + '">\n                        ' + t.action.beforeText + "\n                        " + (function () {
                                        if (23 == t.id)return '\n                            <i class="mark_hot_sm"></i>\n                        '
                                    }() || "") + "\n                    </a>\n                "
                            }() || "") + "\n            </div>\n        "
                    }).join("") + "\n    "
            }() || "") + "\n</div>\n\n" + (function () {
                if (!loadError)return '\n    <div class="task_tip">\n        <ul class="tip_list _tips_list">\n            ' + (function () {
                        return allFinshed ? '\n                <li class="_tip_item">你今天的任务已经全部完成了，真是棒棒哒！</li>\n            ' : "\n                " + (d.tips || []).map(function (t, e) {
                                return '\n                    <li class="_tip_item" style="display: none;">' + t + "</li>\n                "
                            }).join("") + "\n            "
                    }() || "") + "\n        </ul>\n    </div>\n"
            }() || "") + "\n\n" + (function () {
                return isLogin ? '\n    <div class="task_item">\n        <span class="task_img"><i class="vb"></i></span>\n        <div class="task_tit">\n            今日已领<span class="desc"><em class="hl">' + todayVcoin + "</em>/" + todayTotalVcoin + '</span>\n\n        </div>\n        <div class="task_desc">总额\n            <span class="_task_total_vcoin">0</span>\n            <span class="ani_num _task_add_vcoin" style="display: none; line-height: 16px; height: 16px;">0</span>\n        </div>\n        <a href="http://v.qq.com/u/wallet/" target="_blank" class="btn_normal _task_exchange_gift">兑换礼品</a>\n    </div>\n' : '\n    <div class="login_item">\n        <div class="login_tip">请登录同步V币信息</div>\n        <a href="javascript:;" class="btn_normal btn_login _btn_login" style="margin-top: -15px;">登录</a>\n    </div>\n';
            }() || "")
    }
}, function (t, e, n) {
    var i = n(79), o = n(80), r = n(81);
    t.exports = {
        init: function (t) {
            var e = this;
            e.opt = t || {}, window.WebtipsBridge = window.WebtipsBridge || {
                    on: function (t, e) {
                        var n = this._listeners = this._listeners || [];
                        n.push([t, e])
                    }
                }, WebtipsBridge.on("created", function (t) {
                e.showVcoinTips(t)
            })
        }, showVcoinTips: function (t) {
            function e(t, e) {
                var n = e.width(), i = t.width();
                if (n > 0) {
                    var o = (i - n) / 2;
                    t.css("position", "relative"), e.css({right: 0, marginRight: o + "px"})
                }
            }

            var n = this.opt.target;
            t.on("message", function (t) {
                var a = [];
                a = "[object Array]" === Object.prototype.toString.call(t) ? t : [t];
                for (var s = a.length, c = 0; c < s; c++) {
                    var l = a[c];
                    if (l && 10001 == l.appid && !n.hasClass("open")) {
                        n.length > 0 && (n.find("_task_vcoin_animation").length > 0 ? n.find("_task_vcoin_animation").fadeIn() : (n.find(".quick_link").append(o({})), $("._task_vcoin_animation").fadeIn())), $("._task_web_tips").remove();
                        var u = i({});
                        n.append(u), $("._task_web_tips .tip_txt").append(l.cnt.replace(/&gt;/g, ">").replace(/&lt;/g, "<")), e(n, $("._task_web_tips")), $("._task_web_tips").fadeIn(), r(54), setTimeout(function () {
                            n.css("position", ""), $("._task_web_tips").remove(), $("._task_vcoin_animation").remove()
                        }, 5e3)
                    }
                }
            })
        }
    }
}, function (module, exports) {
    module.exports = function (d) {
        with (d)return '<div class="mod_quick_pop mod_pop_vcoin_tip _task_web_tips" style="right: 134px;">\n    <i class="triangle_up"></i>\n    <div class="tip_txt">\n        <i class="vcoin_tip"></i>\n    </div>\n</div>'
    }
}, function (module, exports) {
    module.exports = function (d) {
        with (d)return '<div class="animate_vcoin _task_vcoin_animation">\n    <span class="ani_light"></span>\n    <span class="ani_star_1"></span>\n    <span class="ani_star_2"></span>\n    <span class="ani_star_light"></span>\n</div>'
    }
}, function (t, e, n) {
    function i(t) {
        var e = [];
        !r.uin && (r.uin = txv.login.getUin() || ""), !r.openid && (r.openid = txv.login.getWxAuthCookies() ? txv.login.getWxAuthCookies().openid : ""), r.uuid = a && "function" == typeof a.uid && a.uid() || txv.cookie.get("tvfe_boss_uuid"), r.target = t || "";
        for (var n in r)r.hasOwnProperty(n) && e.push(n + "=" + encodeURIComponent(r[n]));
        var i = o + e.join("&"), s = new Image(1, 1);
        s.src = i
    }

    var o = "//btrace.qq.com/kvcollect?", r = {
        BossId: 3809,
        Pwd: 1896006998,
        url: location.href,
        uin: "",
        openid: "",
        target: "",
        _dc: Math.random()
    }, a = n(23);
    t.exports = i
}, function (module, exports) {
    module.exports = function (d) {
        with (d)return '<div class="mod_quick_pop mod_pop_vcoin _pop_vcoin" style="right: 116px;">\n    <div class="quick_pop_inner">\n        <!--[if IE]><iframe src="about:blank" frameborder="0" class="iframe_mask"></iframe><![endif]-->\n        <div class="pop_info_content">\n            <div class="quick_pop_vcoin">\n                <div class="quick_pop_vcoin_bd">\n                    <div class="getvip_tip">\n                        <span class="getvip_txt">\n                            <i class="icon_sm icon_present_sm">\n                                <svg class="svg_icon svg_icon_present_sm" viewBox="0 0 16 16">\n                                    <path class="svg_path_1" d="M1 7h14v9h-14z"></path>\n                                    <path class="svg_path_2" d="M4.421.201c-.246-.268-.645-.268-.891 0l-1.335 1.456c-.246.268-.246.702 0 .97l2.894 3.154c.246.268.645.268.891 0l1.336-1.456c.246-.268.246-.702 0-.97l-2.895-3.154zm9.384 1.456l-.418-.456-.154-.168-.143-.155-.621-.677c-.246-.268-.645-.268-.891 0l-2.893 3.154c-.246.268-.246.702 0 .97l1.336 1.456c.246.268.645.268.891 0l2.894-3.154c.245-.268.245-.702-.001-.97z"></path>\n                                    <path class="svg_path_3" d="M0 4h16v4h-16z"></path>\n                                    <path class="svg_path_4" d="M6 4h4v4h-4z"></path>\n                                    <path class="svg_path_5" d="M9.383 3.005h-2.794c-.331 0-.598.221-.598.494s-.032.494.299.494h3.392c.331 0 .3-.221.3-.494s-.269-.494-.599-.494z"></path>\n                                    <path class="svg_path_6" d="M6 8h4v8h-4z"></path>\n                                </svg>\n                            </i>PC客户端连续签到5天领会员\n                        </span>\n                        <a href="javascript:;" class="btn_normal btn_getvip _start_pc_client">去领取</a>\n                    </div>\n                    <div class="_task_container">\n                        <div class="_task_list task_list">\n                            <div class="task_item" style="height: 260px;line-height: 260px; text-align: center;">\n                                数据加载中...\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class="quick_pop_vcoin_bd _task_error" style="display: none; ">\n                    <div class="task_item" style="padding-left: 0;height: 260px;line-height: 260px; text-align: center;">\n                        <span class="_error_tips">\n                            拉取数据失败了...<a href="javascript:;" class="_task_reload" style="cursor: pointer; color: #ff920b;" >刷新</a>\n                        </span>\n                        <span class="_loading_tips" style="display: none;">数据加载中...</span>\n                    </div>\n                    <div class="task_item">\n                        <span class="task_img"><i class="vb"></i></span>\n                        <div class="task_tit">\n                            今日已领<span class="desc"><em class="hl">0</em>/0</span>\n                            <span class="ani_num _task_add_vcoin" style="display: none; line-height: 16px; height: 16px;">0</span>\n                        </div>\n                        <div class="task_desc">总额 <span class="_task_total_vcoin">0</span></div>\n                        <a href="//v.qq.com/u/wallet/" target="_blank" class="btn_normal _task_exchange_gift">兑换礼品</a>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>'
    }
}, function (t, e) {
    t.exports = {
        getTask: function (t) {
            for (var e in t)if (t.hasOwnProperty(e))return {id: e, task: t[e]};
            return {}
        }, throttle: function (t, e) {
            clearTimeout(t.tId), t.tId = setTimeout(function () {
                t.call(e)
            }, 200)
        }, isSupportCss3: function (t) {
            var e, n = ["webkit", "Moz", "ms", "o"], i = [], o = document.documentElement.style, r = function (t) {
                return t.replace(/-(\w)/g, function (t, e) {
                    return e.toUpperCase()
                })
            };
            for (e in n)i.push(r(n[e] + "-" + t));
            i.push(r(t));
            for (e in i)if (i[e] in o)return !0;
            return !1
        }, isSougouIE11: function () {
            var t = +txv.ua.ie, e = navigator.userAgent.indexOf("MetaSr") > -1;
            return 11 == t && e
        }
    }
}, function (t, e, n) {
    var i = n(85), o = n(14);
    if (o.windows) {
        var r = $("#pc_client").find("a.quick_link");
        if (r.length > 0) {
            var a = r.attr("href");
            i.to({
                el: r[0], text: "qqlivechannel=channel1.vhome", click: function () {
                    a && (location.href = a)
                }
            })
        }
    }
}, function (t, e, n) {
    function i() {
        var t = !1;
        try {
            new ActiveXObject("ShockwaveFlash.shockwaveFlash"), t = !0
        } catch (e) {
        }
        return t
    }

    var o, r = n(14);
    r.ie || (o = n(86));
    var a = 0, s = {};
    r.ie && (window.TPSetClipBoardEvent = function (t) {
        var e;
        if (t) {
            var n = t.objectid, i = s[n];
            switch (t.event) {
                case"inited":
                    var o;
                    i.onInit && (o = i.onInit.call(window, t)), e = {str: o || i.text};
                    break;
                case"click":
                    if (t.copyRet) {
                        var r = $(i.el);
                        r.trigger("click"), i.click && i.click(r)
                    }
                    break;
                case"rollOver":
                    var r = $(i.el);
                    r.trigger("mouseenter"), i.mouseenter && i.mouseenter(r);
                    break;
                case"rollOut":
                    var r = $(i.el);
                    r.trigger("mouseleave"), i.mouseleave && i.mouseleave(r), i._hide()
            }
            return e
        }
    }), t.exports = {
        to: function (t) {
            var e = "flash-clipboard-util" + a++, n = $(t.el);
            if (s[e] = t, r.ie >= 8 && i()) {
                var c = "//vm.gtimg.cn/tencentvideo/script/vplay/TPSetClipBoard.swf", l = $("<div>");
                l.css({position: "absolute", top: -9999, left: -9999, "z-index": 99999});
                var u, f = ['<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"', ' id="' + e + '"', ' width="100%"', ' height=100%"', ' data="' + c + '">', '<param name="allowScriptAccess" value="always"/>', '<param name="movie" value="' + c + '"/>', '<param name="wmode" value="transparent"/>', "</object>"].join(""), p = function (e) {
                    t._show(), u.unbind("mouseenter", p)
                }, d = {
                    bindEl: function (e) {
                        e ? (u = e, t.el = e.get(0), e.bind("mouseenter", p), t._show = function () {
                                var t = e.offset();
                                l.css({width: e.outerWidth(), height: e.outerHeight(), left: t.left, top: t.top})
                            }) : (u.unbind("mouseenter", p), l.remove())
                    }
                };
                d.bindEl(n), t._hide = function () {
                    l.css({top: -9999}), u.bind("mouseenter", p)
                }, $("body").append(l);
                try {
                    l.append(f)
                } catch (h) {
                    l.remove()
                }
                return d
            }
            o && (t.text && n.attr("data-clipboard-text", t.text), new o(n.get(0)))
        }
    }
}, function (t, e, n) {
    var i, o, r;
    !function (a, s) {
        o = [t, n(87), n(89), n(90)], i = s, r = "function" == typeof i ? i.apply(e, o) : i, !(void 0 !== r && (t.exports = r))
    }(this, function (t, e, n, i) {
        "use strict";
        function o(t) {
            return t && t.__esModule ? t : {"default": t}
        }

        function r(t, e) {
            if (!(t instanceof e))throw new TypeError("Cannot call a class as a function")
        }

        function a(t, e) {
            if (!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
            return !e || "object" != typeof e && "function" != typeof e ? t : e
        }

        function s(t, e) {
            if ("function" != typeof e && null !== e)throw new TypeError("Super expression must either be null or a function, not " + typeof e);
            t.prototype = Object.create(e && e.prototype, {
                constructor: {
                    value: t,
                    enumerable: !1,
                    writable: !0,
                    configurable: !0
                }
            }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
        }

        function c(t, e) {
            var n = "data-clipboard-" + t;
            if (e.hasAttribute(n))return e.getAttribute(n)
        }

        var l = o(e), u = o(n), f = o(i), p = function (t) {
            function e(n, i) {
                r(this, e);
                var o = a(this, t.call(this));
                return o.resolveOptions(i), o.listenClick(n), o
            }

            return s(e, t), e.prototype.resolveOptions = function () {
                var t = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0];
                this.action = "function" == typeof t.action ? t.action : this.defaultAction, this.target = "function" == typeof t.target ? t.target : this.defaultTarget, this.text = "function" == typeof t.text ? t.text : this.defaultText
            }, e.prototype.listenClick = function (t) {
                var e = this;
                this.listener = (0, f["default"])(t, "click", function (t) {
                    return e.onClick(t)
                })
            }, e.prototype.onClick = function (t) {
                var e = t.delegateTarget || t.currentTarget;
                this.clipboardAction && (this.clipboardAction = null), this.clipboardAction = new l["default"]({
                    action: this.action(e),
                    target: this.target(e),
                    text: this.text(e),
                    trigger: e,
                    emitter: this
                })
            }, e.prototype.defaultAction = function (t) {
                return c("action", t)
            }, e.prototype.defaultTarget = function (t) {
                var e = c("target", t);
                if (e)return document.querySelector(e)
            }, e.prototype.defaultText = function (t) {
                return c("text", t)
            }, e.prototype.destroy = function () {
                this.listener.destroy(), this.clipboardAction && (this.clipboardAction.destroy(), this.clipboardAction = null)
            }, e
        }(u["default"]);
        t.exports = p
    })
}, function (t, e, n) {
    var i, o, r;
    !function (a, s) {
        o = [t, n(88)], i = s, r = "function" == typeof i ? i.apply(e, o) : i, !(void 0 !== r && (t.exports = r))
    }(this, function (t, e) {
        "use strict";
        function n(t) {
            return t && t.__esModule ? t : {"default": t}
        }

        function i(t, e) {
            if (!(t instanceof e))throw new TypeError("Cannot call a class as a function")
        }

        var o = n(e), r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
                return typeof t
            } : function (t) {
                return t && "function" == typeof Symbol && t.constructor === Symbol ? "symbol" : typeof t
            }, a = function () {
            function t(t, e) {
                for (var n = 0; n < e.length; n++) {
                    var i = e[n];
                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                }
            }

            return function (e, n, i) {
                return n && t(e.prototype, n), i && t(e, i), e
            }
        }(), s = function () {
            function t(e) {
                i(this, t), this.resolveOptions(e), this.initSelection()
            }

            return t.prototype.resolveOptions = function () {
                var t = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0];
                this.action = t.action, this.emitter = t.emitter, this.target = t.target, this.text = t.text, this.trigger = t.trigger, this.selectedText = ""
            }, t.prototype.initSelection = function () {
                this.text ? this.selectFake() : this.target && this.selectTarget()
            }, t.prototype.selectFake = function () {
                var t = this, e = "rtl" == document.documentElement.getAttribute("dir");
                this.removeFake(), this.fakeHandlerCallback = function () {
                    return t.removeFake()
                }, this.fakeHandler = document.body.addEventListener("click", this.fakeHandlerCallback) || !0, this.fakeElem = document.createElement("textarea"), this.fakeElem.style.fontSize = "12pt", this.fakeElem.style.border = "0", this.fakeElem.style.padding = "0", this.fakeElem.style.margin = "0", this.fakeElem.style.position = "absolute", this.fakeElem.style[e ? "right" : "left"] = "-9999px", this.fakeElem.style.top = (window.pageYOffset || document.documentElement.scrollTop) + "px", this.fakeElem.setAttribute("readonly", ""), this.fakeElem.value = this.text, document.body.appendChild(this.fakeElem), this.selectedText = (0, o["default"])(this.fakeElem), this.copyText()
            }, t.prototype.removeFake = function () {
                this.fakeHandler && (document.body.removeEventListener("click", this.fakeHandlerCallback), this.fakeHandler = null, this.fakeHandlerCallback = null), this.fakeElem && (document.body.removeChild(this.fakeElem), this.fakeElem = null)
            }, t.prototype.selectTarget = function () {
                this.selectedText = (0, o["default"])(this.target), this.copyText()
            }, t.prototype.copyText = function () {
                var t = void 0;
                try {
                    t = document.execCommand(this.action)
                } catch (e) {
                    t = !1
                }
                this.handleResult(t)
            }, t.prototype.handleResult = function (t) {
                t ? this.emitter.emit("success", {
                        action: this.action,
                        text: this.selectedText,
                        trigger: this.trigger,
                        clearSelection: this.clearSelection.bind(this)
                    }) : this.emitter.emit("error", {
                        action: this.action,
                        trigger: this.trigger,
                        clearSelection: this.clearSelection.bind(this)
                    })
            }, t.prototype.clearSelection = function () {
                this.target && this.target.blur(), window.getSelection().removeAllRanges()
            }, t.prototype.destroy = function () {
                this.removeFake()
            }, a(t, [{
                key: "action", set: function () {
                    var t = arguments.length <= 0 || void 0 === arguments[0] ? "copy" : arguments[0];
                    if (this._action = t, "copy" !== this._action && "cut" !== this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')
                }, get: function () {
                    return this._action
                }
            }, {
                key: "target", set: function (t) {
                    if (void 0 !== t) {
                        if (!t || "object" !== ("undefined" == typeof t ? "undefined" : r(t)) || 1 !== t.nodeType)throw new Error('Invalid "target" value, use a valid Element');
                        if ("copy" === this.action && t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');
                        if ("cut" === this.action && (t.hasAttribute("readonly") || t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');
                        this._target = t
                    }
                }, get: function () {
                    return this._target
                }
            }]), t
        }();
        t.exports = s
    })
}, function (t, e) {
    function n(t) {
        var e;
        if ("SELECT" === t.nodeName) t.focus(), e = t.value; else if ("INPUT" === t.nodeName || "TEXTAREA" === t.nodeName) t.focus(), t.setSelectionRange(0, t.value.length), e = t.value; else {
            t.hasAttribute("contenteditable") && t.focus();
            var n = window.getSelection(), i = document.createRange();
            i.selectNodeContents(t), n.removeAllRanges(), n.addRange(i), e = n.toString()
        }
        return e
    }

    t.exports = n
}, function (t, e) {
    function n() {
    }

    n.prototype = {
        on: function (t, e, n) {
            var i = this.e || (this.e = {});
            return (i[t] || (i[t] = [])).push({fn: e, ctx: n}), this
        }, once: function (t, e, n) {
            function i() {
                o.off(t, i), e.apply(n, arguments)
            }

            var o = this;
            return i._ = e, this.on(t, i, n)
        }, emit: function (t) {
            var e = [].slice.call(arguments, 1), n = ((this.e || (this.e = {}))[t] || []).slice(), i = 0, o = n.length;
            for (i; i < o; i++)n[i].fn.apply(n[i].ctx, e);
            return this
        }, off: function (t, e) {
            var n = this.e || (this.e = {}), i = n[t], o = [];
            if (i && e)for (var r = 0, a = i.length; r < a; r++)i[r].fn !== e && i[r].fn._ !== e && o.push(i[r]);
            return o.length ? n[t] = o : delete n[t], this
        }
    }, t.exports = n
}, function (t, e, n) {
    function i(t, e, n) {
        if (!t && !e && !n)throw new Error("Missing required arguments");
        if (!s.string(e))throw new TypeError("Second argument must be a String");
        if (!s.fn(n))throw new TypeError("Third argument must be a Function");
        if (s.node(t))return o(t, e, n);
        if (s.nodeList(t))return r(t, e, n);
        if (s.string(t))return a(t, e, n);
        throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")
    }

    function o(t, e, n) {
        return t.addEventListener(e, n), {
            destroy: function () {
                t.removeEventListener(e, n)
            }
        }
    }

    function r(t, e, n) {
        return Array.prototype.forEach.call(t, function (t) {
            t.addEventListener(e, n)
        }), {
            destroy: function () {
                Array.prototype.forEach.call(t, function (t) {
                    t.removeEventListener(e, n)
                })
            }
        }
    }

    function a(t, e, n) {
        return c(document.body, t, e, n)
    }

    var s = n(91), c = n(92);
    t.exports = i
}, function (t, e) {
    e.node = function (t) {
        return void 0 !== t && t instanceof HTMLElement && 1 === t.nodeType
    }, e.nodeList = function (t) {
        var n = Object.prototype.toString.call(t);
        return void 0 !== t && ("[object NodeList]" === n || "[object HTMLCollection]" === n) && "length" in t && (0 === t.length || e.node(t[0]))
    }, e.string = function (t) {
        return "string" == typeof t || t instanceof String
    }, e.fn = function (t) {
        var e = Object.prototype.toString.call(t);
        return "[object Function]" === e
    }
}, function (t, e, n) {
    function i(t, e, n, i, r) {
        var a = o.apply(this, arguments);
        return t.addEventListener(n, a, r), {
            destroy: function () {
                t.removeEventListener(n, a, r)
            }
        }
    }

    function o(t, e, n, i) {
        return function (n) {
            n.delegateTarget = r(n.target, e), n.delegateTarget && i.call(t, n)
        }
    }

    var r = n(93);
    t.exports = i
}, function (t, e) {
    function n(t, e) {
        for (; t && t !== document;) {
            if (t.matches(e))return t;
            t = t.parentNode
        }
    }

    if (Element && !Element.prototype.matches) {
        var i = Element.prototype;
        i.matches = i.matchesSelector || i.mozMatchesSelector || i.msMatchesSelector || i.oMatchesSelector || i.webkitMatchesSelector
    }
    t.exports = n
}, function (t, e, n) {
    function i() {
        c.isWxLogin() || window.open(p, "blank")
    }

    function o() {
        txv.ua.ie && txv.ua.ie < 9 || (0 == $("._nav_upload_tips").length && ($("body").append(l({})), r = $("._nav_upload_tips"), a = $("._nav_upload_tips_close"), s = $("._nav_upload_tips_confirm"), a.on("click", function () {
            r.hide()
        }), s.on("click", function () {
            c.addLoginCallback(function () {
                txv.ua.ie ? setTimeout(i, 1500) : i()
            }), c.openLogin(), r.hide()
        }), /^\/x\/(cover|page)\//.test(location.pathname) || $("<link>").attr({
            rel: "stylesheet",
            type: "text/css",
            href: "//vm.gtimg.cn/tencentvideo/vstyle/web/common/style/x_dialog.css"
        }).appendTo($("head"))), f.attr("href", "javascript:;"), f.removeAttr("target"), u.on("click", function () {
            var t = $(this)[0], e = r.width() - t.offsetLeft, n = $(".head_inner").height() || 60;
            c.isLogin() ? c.isWxLogin() ? r.show().css({
                        left: "auto",
                        right: e,
                        top: n,
                        margin: 0
                    }) : window.open(p, "blank") : (c.addLoginCallback(function () {
                    txv.ua.ie ? setTimeout(i, 1500) : i()
                }), c.openLogin(), r.hide())
        }))
    }

    var r, a, s, c = n(5), l = n(95), u = $(".quick_upload"), f = $(".quick_upload>.quick_link"), p = f.attr("href");
    c.addReadyCallback(o)
}, function (module, exports) {
    module.exports = function (d) {
        with (d)return '<div class="x_modal _nav_upload_tips" style="z-index: 1000; display: none;">\n    <!--[if IE]><iframe src="about:blank" frameborder="0" class="x_iframe_mask"></iframe><![endif]-->\n    <div class="x_modal_bd">\n        <a href="javascript:;" class="x_close _nav_upload_tips_close" title="关闭"><i class="x_iconfont x_icon_close"></i></a>\n        <h3 class="x_title">微信登录暂不支持上传视频 <br> 请使用QQ号重新登录，并进行上传</h3>\n    </div>\n    <div class="x_modal_ft">\n        <a class="x_btn _nav_upload_tips_close" href="javascript:;">取消</a>\n        <a class="x_btn x_btn_primary _nav_upload_tips_confirm" href="javascript:;">重新登录</a>\n    </div>\n</div>'
    }
}, function (t, e, n) {
    "use strict";
    function i(t) {
        return d.test(t)
    }

    function o(t) {
        if (1 == t.length)return t[0];
        var e = "";
        return "file:" == location.protocol && (e = "http:"), e + "//vm.gtimg.cn/c/=" + s.map(t, function (t) {
            return t.replace(d, "")
        }).join(",")
    }

    function r(t) {
        ~s.indexOf(f, t) || (f.push(t), p || (p = !0, setTimeout(function () {
            function t(t, e) {
                var n = u[t];
                !e && (l[t] = !0), u[t] = null, s.forEach(n, function (t) {
                    t && t(e)
                })
            }

            p = !1;
            var e = [];
            s.forEach(f, function (n) {
                i(n) ? e.push(n) : c(n, function (e) {
                        t(n, e)
                    })
            }), f = [], e.length && c(o(e), function (n) {
                s.forEach(e, function (e) {
                    t(e, n)
                })
            })
        })))
    }

    function a(t, e) {
        return l[t] ? void(e && e()) : void(u[t] ? u[t].push(e) : (u[t] = [e], r(t)))
    }

    var s = n(28), c = n(97), l = {}, u = {}, f = [], p = !1, d = /^(\b|http:|https:)\/\/vm\.gtimg\.cn/;
    a.load = c, t.exports = a
}, function (t, e) {
    "use strict";
    function n() {
        var t = document.createElement("script");
        return t.type = "text/javascript", t.charset = "utf-8", t.async = !0, t
    }

    function i(t, e, i) {
        function l(t) {
            ("load" === t.type || s.test((t.currentTarget || t.srcElement).readyState)) && g(t)
        }

        function u(t) {
            clearTimeout(p), f || (f = 1, document.body.removeChild(h), e(t))
        }

        e = e || o, i = i || {};
        var f, p, d = i.timeout || a, h = n(), g = r(u, null), v = r(u, "load script error: " + t), m = r(u, "load script timeout: " + t);
        return !h.attachEvent || h.attachEvent.toString && h.attachEvent.toString().indexOf("[native code") < 0 || c ? (h.addEventListener("load", l, !1), h.addEventListener("error", v, !1)) : (h.attachEvent("onreadystatechange", l), h.attachEvent("onerror", v)), h.src = t, p = setTimeout(m, d), document.body.appendChild(h), h
    }

    function o() {
    }

    function r(t, e) {
        return function () {
            t(e)
        }
    }

    var a = 3e4, s = /^(complete|loaded)$/, c = "undefined" != typeof opera && "[object Opera]" === opera.toString();
    t.exports = i
}, function (t, e, n) {
    function i(t, e) {
        e = e || {}, t = parseInt(t, 10);
        var n, i = o.typeDef;
        switch (t) {
            case i.COMPLEX:
                n = new a;
                break;
            case i.SIMPLE:
                n = new s;
                break;
            case i.DEFAULT:
            default:
                n = new r
        }
        return n.init(e), n
    }

    var o = n(99), r = n(100), a = n(103), s = n(104);
    t.exports = {
        renderNameDef: o.renderNameDef, typeDef: o.typeDef, defaultInit: i, complex: function (t) {
            return i(o.typeDef.COMPLEX, t)
        }, simple: function (t) {
            return i(o.typeDef.SIMPLE, t)
        }, SearchBox: r, initHeadSearch: function () {
            var t, e = {};
            return document.getElementById("head_v3") && !document.getElementById("modSimpleNavMore") && (e.renderMethodName = o.renderNameDef.v2), t = txv.searchbox.complex(e), t.addOnShowSelectorCallBack(function () {
                $("#modHeadSearchSuggest").show()
            }), t.addOnHideSelectorCallBack(function () {
                $("#modHeadSearchSuggest").hide()
            }), t
        }
    }
}, function (t, e) {
    t.exports = {
        renderNameDef: {complex: "complex", simple: "simple", v2: "v2"},
        typeDef: {DEFAULT: 0, COMPLEX: 1, SIMPLE: 2}
    }
}, function (t, e, n) {
    function i(t) {
        t = t || {}, this.config = {
            defaultTxt: "",
            inputBox: $("#iWord"),
            sugSelector: $("#sgt_list"),
            searchBtn: $("#sbutton"),
            suggestCgi: i.search_suggest,
            searchCgi: i.search_cgi,
            searchForm: document.sform,
            sugCover: $("#mod_keywords_list"),
            elStag: $("#searchbox_hid_stag"),
            elTj2btn: $("#searchbox_hid_tj2btn"),
            defaultCls: "mod_search_txt",
            focusCls: "onfocus",
            currentCls: "current",
            expandCls: "expand",
            showSuggest: !0,
            showSmartHistory: !0,
            render: null,
            renderMethodName: "",
            callback: {onInputboxFocus: f, onInputboxBlur: f}
        }, $.extend(!0, this.config, t), this.selectedIndex = -1, this.smartWord = "", this.itemsCount = 0, this.timer = [], this.hadModify = !1, this.showSuggestCb = $.Callbacks("unique"), this.hideSuggestCb = $.Callbacks("unique")
    }

    function o(t) {
        s.get(v, function (e) {
            "function" == typeof t && t(e)
        })
    }

    function r(t) {
        s.get(v, function (e) {
            e = e || "";
            for (var n = e ? e.split("|") : [], i = -1, o = encodeURIComponent(t), r = 0, a = n.length; r < a; r++)if (n[r] == o) {
                i = r;
                break
            }
            i != -1 && n.splice(i, 1), n.length > 9 && n.pop(), n.unshift(o), s.set(v, n.join("|"))
        })
    }

    function a() {
        s.set(v, "")
    }

    var s = n(10), c = (n(7), n(99)), l = n(101), u = n(102), f = function () {
    }, p = "//v.qq.com/json/searchcfg/search_keyword.js?", d = (reg = /<em.*?>(.*?)<\/em>/gi, '<li act="history"><a href="javascript:void(0);" class="items"><span class="result_detail"><span class="result_title">{search_word}</span></span></a></li>'), h = {}, g = !1;
    i.search_cgi = "http://v.qq.com/search.html", i.search_suggest = "//s.video.qq.com/smartbox?plat=2&ver=0&num=10&otype=json&query=", i.showSuggestCb = $.Callbacks("unique"), i.hideSuggestCb = $.Callbacks("unique"), i.addOnShowSelectorCallBack = i.showSuggestCb.add, i.addOnHideSelectorCallBack = i.hideSuggestCb.add, $.extend(i.prototype, {
        init: function (t) {
            var e = this;
            t = t || {}, $.extend(!0, e.config, t), e.config.defaultTxt ? e.config.inputBox.val() ? e.hadModify = !0 : e.config.inputBox.val(e.config.defaultTxt) : e.getDefauKeyword(), e.initEvent(), e.config.searchForm && (e.config.searchForm.action = e.config.searchCgi, e.config.searchForm.onsubmit = function () {
                return !!e.onBeforeSubmit() && e.validate()
            }), e.config.renderMethodName == c.renderNameDef.v2 && 0 == e.config.sugCover.find("a.clear_history").size() && e.config.sugCover.append('<a href="javascript:;" style="" class="btn_grey_sim clear_history">清空搜索记录</a>'), e.config.sugCover.find("a.clear_histor").hide()
        }, initEvent: function () {
            var t = this, e = t.config.inputBox;
            e.bind("keyup", function (e) {
                t.onKeyup(e)
            }), e.bind("keydown", function (n) {
                t.onKeydown(n);
                var i = e.val();
                i ? t.hadModify = !0 : t.hadModify = !1
            }), e.bind("blur", function (n) {
                var i = e.val();
                e.removeClass(t.config.focusCls), t.hadModify && i || (i && i !== t.config.defaultTxt ? t.hadModify = !0 : e.val(t.config.defaultTxt)), g || t.hideSelector(), "function" == typeof t.config.callback.onInputboxBlur && t.config.callback.onInputboxBlur()
            }), e.bind("focus", function (n) {
                e.addClass(t.config.focusCls), t.onFocus(this, n)
            }), e.bind("paste", function (e) {
                setTimeout(function () {
                    t.hadModify = !0, t.getSuggest()
                }, 5)
            }), e.bind("webkitspeechchange", function (e) {
                e.stopPropagation(), e.results && e.results.length > 0 && (this.value = e.results[0].utterance, t.hadModify = !0, t.getSuggest())
            }), t.config.sugSelector.undelegate("li", "click").delegate("li", "click", function (e) {
                t.onListClick(this, e)
            }), t.config.sugCover.delegate("li", "mouseenter mouseleave", function (e) {
                "mouseenter" == e.type && t.choose($(this).index())
            }), t.config.sugCover.hover(function () {
                g = !0
            }, function () {
                g = !1
            }), t.config.sugCover.bind("blur", function (e) {
                t.hideSelector()
            }), t.config.sugCover.delegate("a.clear_history", "click", function (e) {
                t.hideSelector(), a()
            }), t.initExtEvent()
        }, initExtEvent: function () {
        }, onFocus: function (t, e) {
            var n = this, i = $.trim(t.value);
            n.hadModify && i ? n.getSuggest() : (t.value = "", n.getHistory()), "function" == typeof n.config.callback.onInputboxFocus && n.config.callback.onInputboxFocus()
        }, getHistory: function () {
            var t = this;
            t.config.showSmartHistory && o(function (e) {
                if (e) {
                    var n = e.split("|"), o = [];
                    t.itemsCount = n.length;
                    for (var r = 0, a = n.length; r < a; r++) {
                        var s = n[r];
                        s = decodeURIComponent(s), s = u.filterXSS(s), o.push(d.replace("{search_word}", s))
                    }
                    t.config.sugSelector.html(o.join("")), t.config.sugSelector.show(), t.config.sugCover.find("a.clear_history").show(), t.config.sugCover.show(), t.showSuggestCb.fire(), i.showSuggestCb.fire()
                }
            })
        }, submit: function () {
            this.validate() && this.config.searchForm.submit()
        }, validate: function () {
            var t = this, e = $.trim(t.config.inputBox.val());
            if (!e)return !1;
            if ("utf-8" != document.charset) {
                var n = document.charset;
                document.charset = "utf-8", setTimeout(function () {
                    document.charset = n
                }, 10)
            }
            return t.config.inputBox.val(e), r(e), !0
        }, onKeyup: function (t) {
            var e = this;
            if (38 != t.keyCode && 40 != t.keyCode) {
                var n = e.config.inputBox.val();
                return n ? void(e.timer[0] = setTimeout(function () {
                        clearTimeout(e.timer[0]), e.timer[0] = null, e.getSuggest()
                    }, 300)) : (e.getHistory(), void(e.hadModify = !1))
            }
        }, onKeydown: function (t) {
            var e = this;
            e.timer[0] && (clearTimeout(e.timer[0]), e.timer[0] = null), 38 == t.keyCode ? (t.preventDefault(), e.choose("up", !0), e.hadModify = !0) : 40 == t.keyCode && (t.preventDefault(), e.choose("down", !0), e.hadModify = !0)
        }, choose: function (t, e) {
            var n = this;
            e |= !1, "string" == typeof t ? "up" == t ? (n.selectedIndex <= 0 && (n.selectedIndex = n.itemsCount), n.selectedIndex--) : "down" == t && (n.selectedIndex >= n.itemsCount - 1 && (n.selectedIndex = -1), n.selectedIndex++) : "number" == typeof t && (n.selectedIndex = t);
            var i = n.config.sugSelector.find("li:eq(" + n.selectedIndex + ")");
            n.setCurrentCls(i, n.selectedIndex), e && n.setVal(i)
        }, setCurrentCls: function (t, e) {
            var n = this, i = n.config.currentCls || "current";
            n.config.sugSelector.find("li." + i).removeClass(i), t.addClass(i)
        }, setVal: function (t) {
            this.config.inputBox.val(t.text())
        }, hideSelector: function () {
            g = !1, this.config.sugCover.hide(), this.config.sugSelector.hide(), this.config.sugSelector.html(""), this.hideSuggestCb.fire(), i.hideSuggestCb.fire()
        }, getSuggest: function () {
            var t = this, e = $.trim(this.config.inputBox.val());
            return e ? (t.selectedIndex = -1, t.smartWord = e, h[e] ? void t.afterSuggest(h[e]) : void t.getCgiSuggest(e)) : void t.hideSelector()
        }, getCgiSuggest: function (t) {
            var e = this;
            $.getJsonp(e.config.suggestCgi + encodeURIComponent(t), function (n) {
                if (!n || !n.head || !$.isArray(n.item))return void e.hideSelector();
                var i = n.item.length;
                return 0 == i ? void e.hideSelector() : (h[t] = n, void e.afterSuggest(h[t]))
            })
        }, afterSuggest: function (t) {
            var e = this;
            e.renderSuggest(t), e.config.sugSelector.show(), e.config.sugCover.find("a.clear_history").hide(), e.config.sugCover.show(), e.config.sugCover.css("display", "block"), e.showSuggestCb.fire(), i.showSuggestCb.fire()
        }, renderSuggest: function (t) {
            var e = this, n = [], i = e.config;
            e.itemsCount = t.item.length;
            for (var o = 0, r = t.item.length; o < r; o++)n.push(e.renderItem(t.item[o]));
            i.sugSelector.html(n.join(""))
        }, renderItem: function () {
            return "function" == typeof this.config.render ? this.config.render.apply(this, arguments) : this.render.apply(this, arguments)
        }, render: function () {
            var t = this.config.renderMethodName || c.renderNameDef.complex, e = l[t];
            if (e)return e.apply(this, arguments)
        }, onListClick: function (t) {
            var e = this, n = e.config.inputBox.val(), i = $(t).index();
            this.choose(i, !0), this.hideSelector(), this.submit(), e.config.inputBox.val(n)
        }, onBeforeSubmit: function () {
            return !0
        }, getDefauKeyword: function () {
            function t() {
                s.get("txv_search_keyword", function (t) {
                    t = t || "", t = t.split("|");
                    var n = u.filterXSS(t[0]), i = e.config.inputBox.val();
                    i ? e.hadModify = !0 : e.config.inputBox.val(n), e.config.defaultTxt = n
                })
            }

            var e = this, n = Date.now();
            timestamp = Math.floor(n / 6e5), $.ajax({
                url: [p, "v=", timestamp].join(""),
                dataType: "jsonp",
                jsonpCallback: "SearchWordCallback20151104",
                cache: !0
            }).done(function (i) {
                if (i && i.search_word) {
                    var o = i.search_word, r = u.filterXSS(o), a = e.config.inputBox.val();
                    s.set("txv_search_keyword", [o, n].join("|")), a ? e.hadModify = !0 : e.config.inputBox.val(r), e.config.defaultTxt = r
                } else t()
            }).fail(function () {
                t()
            })
        }, addOnShowSelectorCallBack: function () {
            this.showSuggestCb.add(arguments)
        }, addOnHideSelectorCallBack: function () {
            this.hideSuggestCb.add(arguments)
        }
    });
    var v = "txv_search_history";
    t.exports = i
}, function (t, e, n) {
    function i(t, e, n, i) {
        var o = this, r = o.typemap, a = "http://v.qq.com", c = [], l = t.id;
        if ("高清" != t.sharp && "超清" != t.sharp && (t.sharp = ""), "" == l) c.push(['<li act="search"><a href="javascript:;" target="_self"><span class="result_detail"><span class="result_title">', t.title, "</span></span></a></li>"].join("")); else switch (e) {
            case r.DY:
                c.push(['<li act="search" playurl="', t.url, '"><a href="javascript:;" target="_self"><span class="result_type">', t["class"], '</span><span class="result_detail"><span class="result_title">', t.title, '</span><span class="result_HD">', t.sharp, "</span></span></a> </li>"].join(""));
                break;
            case r.TV:
                c.push(['<li act="search" playurl="', t.url, '"><a href="javascript:;" target="_self"><span class="result_type">', t["class"], '</span><span class="result_detail"><span class="result_title">', t.title, '</span><span class="result_HD">', t.sharp, '</span><span class="result_new">', t.ex.title, "</span></span></a></li>"].join(""));
                break;
            case r.MV:
                c.push(['<li act="search" playurl="', t.url, '"><a href="javascript:;" target="_self"><span class="result_type">', t["class"], '</span><span class="result_detail"><span class="result_title">', t.title, '</span><span class="result_singer">歌手：', t.ex.title, '</span><span class="result_HD">', t.sharp, "</span></span></a></li>"].join(""));
                break;
            case r.YC:
            case r.ZY:
                c.push(['<li act="search" playurl="', t.url, '"><a href="javascript:;" target="_self"><span class="result_type">', t["class"], '</span><span class="result_detail"><span class="result_title">', t.title, "</span></span></a></li>"].join("")), t.ex && t.ex.id && (tmpUrl = s.getDetailUrl(t.ex.id, e), tmpUrl.indexOf(a) == -1 && (tmpUrl = [a, tmpUrl].join("")), c.push(['<li act="click" playurl="', tmpUrl, '"><a href="javascript:;" target="_self"><span class="result_new_info"> - 最新一期 (第', t.ex.date.substring(0, 10), '期)</span><span class="result_new_info_detail">', t.ex.byname, "</span></a></li>"].join("")), o.itemsCount++);
                break;
            case r.JLP:
                c.push(['<li act="search" playurl="', t.url, '"><a href="javascript:;" target="_self"><span class="result_type">', t["class"], '</span><span class="result_detail"><span class="result_title">', t.title, '</span><span class="result_HD">', t.sharp, "</span></span></a></li>"].join(""));
                break;
            default:
                c.push(['<li act="search" playurl="', t.url, '"><a href="javascript:;" target="_self"><span class="result_type">', t["class"], '</span><span class="result_detail"><span class="result_title">', t.title, "</span></span></a></li>"].join("")), t.ex && t.ex.id && (tmpUrl = s.getDetailUrl(t.ex.id, e), tmpUrl.indexOf(a) == -1 && (tmpUrl = [a, tmpUrl].join("")), c.push(['<li act="click" playurl="', tmpUrl, '"><a href="javascript:;" target="_self"><span class="result_new_info"> - 最新一期 (第', t.ex.date.substring(0, 10), '期)</span><span class="result_new_info_detail">', t.ex.byname, "</span></a></li>"].join("")), o.itemsCount++)
        }
        return c.join("")
    }

    function o(t, e, n, o) {
        return i.apply(this, arguments)
    }

    function r(t, e, n, i) {
        var o = this, r = [], s = t.ps, c = t.ss, l = "", u = "", f = "", p = "", d = "ll_src", h = o.typemap, g = o.itemTypeMap, v = t.itemType;
        if (t.da && (l = "(" + t.da + ")&nbsp;"), 1 == e && t.pd && (u = '<p class="list">导演：' + t.pd + "</p>"),
            2 == e && t.ex && t.ex.title && (u = '<p class="list">' + t.ex.title + "</p>"), 3 != e && 9 != e || !t.ar || (u = '<p class="list">地区：' + t.ar + "</p>"), t.pa = t.pa || "", t.pa = t.pa.replace(/\+/g, " "), 1 != e && 2 != e || !t.pa || (f = '<p class="list">主演：' + t.pa + "</p>"), 3 != e && 9 != e || !t.sn || (f = '<p class="list">类型：' + t.sn + "</p>"), 1 != s || 1 != c || n.hasExpand || (n.hasExpand = !0, d = "src", p = "expand"), r.push('<li ps="' + s + '" ss="' + c + '" class="' + p + '">'), r.push('<a href="javascript:void(0);" target="_self" class="items">'), 1 == s && 1 == c && r.push('<span class="item_posi"><i class="icon_arrow"></i></span>'), r.push('<span class="result_detail">'), r.push('<span class="result_title">' + t.title + "</span>"), r.push('<span class="title_desc">' + l + t["class"] + "</span>"), r.push("</span>"), r.push("</a>"), 1 == s && 1 == c) {
            if (r.push('<div class="wrap_content">'), r.push('<a href="javascript:;" class="figure"><img ' + d + '="' + t.dc + '" onerror="picerr(this, 2)""></a>'), v == g.ZB) r.push('<div class="wrap_right"><div class="detail_list">'), t.tt && r.push('<h3 class="list_subtitle">' + t.tt + "</h3>"), r.push('<p class="list">' + t.secondLine + "</p>"), r.push("</div>"), t.url && r.push('<a href="' + t.url + '" class="btn_play" target="_blank" nopropagation="true">' + {
                    "-1": "立即播放",
                    0: "观看直播",
                    1: "查看详情"
                }[t.status] + "</a>"); else if (v == g.ZT) r.push('<div class="wrap_right"><div class="detail_list">'), r.push('<p class="list_subtitle" title="' + t.tt + '">' + a.cut(t.tt, 80, "...") + "</p>"), r.push("</div>"), t.url && r.push('<a href="' + t.url + '" class="btn_play" target="_blank" nopropagation="true">查看详情</a>'); else switch (+e) {
                case h.ZY:
                    if (r.push('<div class="wrap_right wrap_layout_12">'), t.ex && $.isArray(t.ex.pl))for (var m = 0, _ = t.ex.pl.length; m < _; m++) {
                        var y = t.ex.pl[m];
                        r.push('<p class="list"><a href="' + y.u + '" class="btn_grey_sim" target="_blank" nopropagation="true">' + y.en + "期 " + y.ti + "</a></p>")
                    }
                    t.live_url && r.push('<a href="' + t.live_url + '" class="btn_play" target="_blank" nopropagation="true" data-reporttype="live">正在直播</a>'), r.push("</div>");
                    break;
                default:
                    var b = [];
                    if (t.tt && t.tt != t.word && b.push(t.tt), t.et && t.et != t.word && b.push(t.et), r.push('<div class="wrap_right"><div class="detail_list">'), b.length > 0 && r.push('<h3 class="list_subtitle">' + b.join("/") + "</h3>"), r.push(u), r.push(f), r.push("</div>"), r.push('<a href="' + t.url + '" class="btn_play" target="_blank" nopropagation="true">立即播放</a>'), t.ticket) {
                        var x = $.parseJSON(t.ticket);
                        r.push('<a href="' + x.ticket_url + '" target="_blank" class="btn_ticket">买电影票</a><a href="' + x.ticket_url + '" target="_blank" class="btn_tips">' + x.ticket_city + "最低价：￥" + x.ticket_price + "元</a>")
                    }
                    r.push("</div>")
            }
            r.push("</div>")
        }
        return r.push("</li>"), r.join("")
    }

    var a = n(102), s = n(15);
    t.exports = {complex: i, simple: o, v2: r}
}, function (t, e) {
    t.exports = {
        extend: function (t, e) {
            var n = function () {
            };
            n.prototype = t.prototype, e.prototype = new n, e.prototype.constructor = e
        }, filterXSS: function (t) {
            var e = document.createElement("div"), n = $(e).text(t).html();
            return e = null, n
        }, cut: function (t, e, n) {
            if (t = String(t), e -= 0, n = n || "", isNaN(e))return t;
            for (var i = t.length, o = Math.min(Math.floor(e / 2), i), r = this.getRealLen(t.slice(0, o)); o < i && r < e; o++)r += 1 + (t.charCodeAt(o) > 255);
            return t.slice(0, r > e ? o - 1 : o) + (o < i ? n : "")
        }, getRealLen: function (t, e) {
            if ("string" != typeof t)return 0;
            if (e) {
                var n = t.replace(/[\x00-\xFF]/g, "");
                return t.length - n.length + encodeURI(n).length / 3
            }
            return t.replace(/[^\x00-\xFF]/g, "**").length
        }
    }
}, function (t, e, n) {
    function i(t) {
        r.call(this, t), this.typemap = {
            DY: 1,
            TV: 2,
            DM: 3,
            MV: 22,
            ZY: 10,
            YC: 103,
            JLP: 9
        }, this.itemTypeMap = {
            SP: 1,
            RM: 2,
            RC: 3,
            ZB: 5,
            ZT: 101
        }, this.flag = {isMix: !1}, this.hotkeyObj = {
            go: "search.search",
            smartBox: "search.smartbox",
            hotwordtj2: "search.hotword",
            smartBoxStag: "txt.smart_index",
            defaultStag: "txt.index",
            hotwordStag: "txt.index_hotword",
            historyStag: "txt.historyword"
        }
    }

    var o = n(102), r = n(100), a = n(7), s = "//ncgi.video.qq.com/report/search?", c = function () {
    };
    o.extend(r, i), $.extend(i.prototype, {
        onBeforeSubmit: function () {
            var t, e, n = !0, i = this.config.elStag, o = this.config.elTj2btn;
            if ("" != this.config.sugSelector.html() && this.selectedIndex != -1) {
                if (t = this.config.sugSelector.find("li:eq(" + this.selectedIndex + ")"), e = t.attr("act"), "click" == e) {
                    a.button(this.hotkeyObj.smartBox);
                    var r = t.attr("playurl");
                    r && "" != r && window.open(r), this.hideSelector(), n = !1
                } else"history" == e ? (i.val(this.hotkeyObj.historyStag), o.val(this.hotkeyObj.smartBox)) : (i.val(this.hotkeyObj.smartBoxStag), o.val(this.hotkeyObj.smartBox));
                this.hideSelector()
            } else this.hadModify ? (i.val(this.hotkeyObj.defaultStag), o.val(this.hotkeyObj.go)) : (i.val(this.hotkeyObj.hotwordStag), o.val(this.hotkeyObj.hotwordtj2));
            return n
        }, onListClick: function (t, e) {
            var n = this, i = $(t), o = i.attr("act"), r = i.index(), s = this.config.elStag, c = this.config.elTj2btn;
            if ("click" == o) {
                a.button(this.hotkeyObj.smartBox);
                var l = i.attr("playurl");
                return l && "" != l && window.open(l), void this.hideSelector()
            }
            var u = n.config.inputBox.val();
            "history" == o ? (c.val(this.hotkeyObj.smartBox), s.val(this.hotkeyObj.historyStag)) : (c.val(this.hotkeyObj.smartBox), s.val(this.hotkeyObj.smartBoxStag)), this.choose(r, !0), this.hideSelector(), this.submit(), c.val(this.hotkeyObj.go), s.val(this.hotkeyObj.defaultStag), n.config.inputBox.val(u)
        }, renderSuggest: function (t) {
            var e, n, i = this, o = [];
            if (t && $.isArray(t.item)) {
                i.flag.isMix = t.head && 1 == t.head.mix, i.itemsCount = t.item.length, t.hasExpand = !1;
                for (var r = 0; r < t.item.length; r++)e = t.item[r], n = -1, e.ex && e.ex.typeid && (n = parseInt(e.ex.typeid, 10)), o.push(i.renderItem(e, n, t, r));
                i.config.sugSelector.html(o.join(""))
            }
        }, setCurrentCls: function (t, e) {
            var n = this, i = t.attr("ss"), o = n.config.currentCls || "current", r = n.config.expandCls || "expand";
            n.config.sugSelector.find("li." + o).removeClass(o), t.addClass(o), 1 == i && (n.config.sugSelector.find("li." + r).removeClass(r), t.addClass(r)), t.find("img").each(function (t, e) {
                var n = $(e);
                n.attr("src") || setTimeout(function () {
                    n.attr("src", n.attr("ll_src"))
                }, 0)
            })
        }, setVal: function (t) {
            t.attr("act");
            this.config.inputBox.val(t.find(".result_title").text())
        }, initExtEvent: function () {
            var t = this;
            this.config.sugSelector.delegate("li a[nopropagation]", "click", function (e) {
                e.stopPropagation();
                var n = $(this).attr("data-reporttype");
                t.dataReport(this, n), t.hideSelector()
            }), this.config.sugSelector.delegate("li a.btn_ticket", "click", function (e) {
                e.stopPropagation(), t.dataReport(this, "ticket"), t.hideSelector()
            }), this.config.sugSelector.delegate("li a.btn_tips", "click", function (e) {
                e.stopPropagation(), t.dataReport(this, "ticket"), t.hideSelector()
            })
        }, dataReport: function (t, e) {
            var n = this, i = $(t), o = n.config.sugSelector.find("li:eq(" + n.selectedIndex + ")"), e = e || "normal", r = {
                normal: 1,
                ticket: 101,
                live: 102
            }, a = {
                qid: "",
                action: 101,
                ival1: n.selectedIndex + 1,
                ival2: r[e],
                ival7: n.flag.isMix ? 11 : 10,
                sval: "self",
                sval1: encodeURIComponent(n.smartWord),
                sval2: encodeURIComponent(o.find(".result_title").text()),
                sval3: encodeURIComponent(i.attr("href")),
                platform: "10201",
                ctime: "",
                curl: encodeURIComponent(location.href)
            }, l = [];
            l.push(s);
            for (var u in a)l.push(u, "=", a[u], "&");
            l.push("_t=" + (new Date).valueOf());
            var f = new Image;
            f.onload = f.onerror = f.onabort = c, f.src = l.join("")
        }
    }), t.exports = i
}, function (t, e, n) {
    function i(t) {
        r.call(this, t), this.hotkeyObj = {
            go: "search.minisearch",
            smartBox: "search.minismartbox",
            hotwordtj2: "search.minihotword",
            smartBoxStag: "txt.smart_slide",
            defaultStag: "txt.slide",
            hotwordStag: "txt.slide_hotword"
        }
    }

    var o = n(102), r = n(103);
    o.extend(r, i), $.extend(i.prototype, {}), t.exports = i
}, function (t, e, n) {
    function i() {
        return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (t) {
            var e = 16 * Math.random() | 0, n = "x" == t ? e : 3 & e | 8;
            return n.toString(16)
        })
    }

    function o() {
        var t = txv.cookie, e = "tvfe_search_uid", n = t.get(e);
        return n || (n = i(), t.set(e, n, "", !1, 87600)), n
    }

    function r() {
        return a || (a = o())
    }

    var a, s = n(106), c = n(107), l = n(108), u = n(109), f = "//ncgi.video.qq.com/report/search?", p = function () {
    }, d = "", h = [], g = {
        init: function () {
            if (!g.inited) {
                g.inited = !0, window.console || (window.console = {
                    log: function () {
                    }
                });
                var t = this;
                g.initEvent(), $.getJSON("//v.qq.com/p/hollywood/search_keyword.json", {v: Math.floor((new Date).getTime() / 6e5)}, function (e, n) {
                    if (e && e.data && e.data.length >= 2) {
                        var i;
                        i = location.href.indexOf("//film.qq.com") != -1 ? e.data[1].title : e.data[0].title, t.defaultWord = i, $("#keywords").attr({
                            value: i,
                            placeholder: i
                        })
                    }
                })
            }
        }, initEvent: function () {
            var t = this;
            $(document).on("keyup", "#keywords", function (e) {
                e.preventDefault(), t.getSmartList(e, $(this))
            }).on("focus", "#keywords", function (e) {
                e.preventDefault(), t.checkKeyword(e, $(this))
            }).on("blur", "#keywords", function (e) {
                e.preventDefault(), t.losesFocus()
            }), $("#smartbox").on("click", ".sb_item", function (e) {
                t.searchWord($(this), e)
            }).on("mouseover", ".sb_item", function (e) {
                e.preventDefault(), t.overThis($(this))
            }).on("mouseout", ".sb_item", function (e) {
                e.preventDefault(), t.outThis($(this))
            }).on("click", ".sb_del", function (e) {
                e.preventDefault(), t.clearHistory()
            }), $("#searchForm").on("click", "button", function (e) {
                e.preventDefault(), t.jumpToNewSearch()
            })
        }, getSearchHistory: function () {
            if (window.localStorage) {
                var t = localStorage.getItem("searchHistory");
                return t = t ? JSON.parse(t) : []
            }
            return []
        }, setSearchHistory: function (t, e) {
            if (window.localStorage) {
                if (t = $.trim(t), e.constructor != Array || !t)return;
                for (var n = 0; n < e.length; n++)t == e[n].word && e.splice(n, 1);
                e.unshift({word: t}), e.length > 10 && e.pop(), localStorage.setItem("searchHistory", JSON.stringify(e))
            }
        }, getAjaxData: function (t) {
            var e = $.Deferred();
            return $.ajax({
                url: "//s.video.qq.com/smartbox",
                dataType: "jsonp",
                data: {plat: 2, ver: 0, num: 10, otype: "json", query: t, uid: r()}
            }).done(function (t) {
                e.resolve(t)
            }).fail(function () {
            }), e.promise()
        }, getHotList: function () {
            var t = $.Deferred();
            return $.ajax({
                url: "//data.video.qq.com/fcgi-bin/dataout",
                dataType: "jsonp",
                data: {auto_id: 938, otype: "json"}
            }).done(function (e) {
                t.resolve(e)
            }).fail(function () {
            }), t.promise()
        }, getSmartList: function (t, e) {
            var n = this, i = e.val();
            if (38 == t.keyCode) n.tapUp(); else if (40 == t.keyCode) n.tapDown(); else if (13 != t.keyCode && n.setReportParams({
                    stag: 0,
                    smartbox_ab: ""
                }), $.trim(i)) n.showHistory = !1, n.timer && clearTimeout(n.timer), n.timer = setTimeout(function () {
                $.trim(i) && n.compileSmartList(i)
            }, 50), 13 == t.keyCode && n.jumpToNewSearch(); else {
                if (n.showHistory)return;
                n.showHistory = !0, n.showLayer = !0, setTimeout(function () {
                    n.compileHistoryList()
                }, 50)
            }
        }, tapUp: function () {
            var t = this;
            if (t.showingBox) {
                if ("recommend" == t.showingBox) {
                    var e = $("#smartbox").find(".current"), n = $("#smartbox").find(".sb_item");
                    if (n.removeClass("expand"), e.size() > 0) {
                        var i = e.removeClass("current").prev();
                        i.size() > 0 ? i.addClass("current") : n.filter(":last").addClass("current")
                    } else n.filter(":last").addClass("current")
                } else if ("history" == t.showingBox) {
                    var e = $("#smartbox").find(".current"), o = $(".sb_history").find(".sb_item"), r = $(".sb_hot").find(".sb_item");
                    if (e.size() > 0) {
                        var i = e.removeClass("current").prev();
                        if (i.size() > 0) i.addClass("current"); else {
                            var a = e.parent().parent().attr("class");
                            "sb_history" == a ? r.size() > 0 ? r.filter(":last").addClass("current") : o.filter(":last").addClass("current") : "sb_hot" == a && (o.size() > 0 ? o.filter(":last").addClass("current") : r.filter(":last").addClass("current"))
                        }
                    } else r.size() > 0 ? r.filter(":last").addClass("current") : o.size() > 0 && o.filter(":last").addClass("current")
                }
                t.setReportParams({
                    stag: $("#smartbox").find(".current").data("stag"),
                    smartbox_ab: $("#smartbox").find(".current").data("abresult")
                }), $("#keywords").val($("#smartbox").find(".current").data("word"))
            }
        }, tapDown: function () {
            var t = this;
            if (t.showingBox) {
                if ("recommend" == t.showingBox) {
                    var e = $("#smartbox").find(".current"), n = $("#smartbox").find(".sb_item");
                    if (n.removeClass("expand"), e.size() > 0) {
                        var i = e.removeClass("current").next();
                        i.size() > 0 ? i.addClass("current") : n.filter(":first").addClass("current")
                    } else n.filter(":first").addClass("current")
                } else if ("history" == t.showingBox) {
                    var e = $("#smartbox").find(".current"), o = $(".sb_history").find(".sb_item"), r = $(".sb_hot").find(".sb_item");
                    if (e.size() > 0) {
                        var i = e.removeClass("current").next();
                        if (i.size() > 0) i.addClass("current"); else {
                            var a = e.parent().parent().attr("class");
                            "sb_history" == a ? r.size() > 0 ? r.filter(":first").addClass("current") : o.filter(":first").addClass("current") : "sb_hot" == a && (o.size() > 0 ? o.filter(":first").addClass("current") : r.filter(":first").addClass("current"))
                        }
                    } else o.size() > 0 ? o.filter(":first").addClass("current") : r.size() > 0 && r.filter(":first").addClass("current")
                }
                t.setReportParams({
                    stag: $("#smartbox").find(".current").data("stag"),
                    smartbox_ab: $("#smartbox").find(".current").data("abresult")
                }), $("#keywords").val($("#smartbox").find(".current").data("word"))
            }
        }, compileSmartList: function (t) {
            var e = this;
            e.cache = e.cache || {}, e.cache[t] ? e.buildSmartList(e.cache[t]) : $.when(e.getAjaxData(t)).then(function (n) {
                    e.buildSmartList(n), e.cache[t] = n
                })
        }, buildSmartList: function (t) {
            var e = this;
            if (t.head && 0 == t.head.error && t.item && !e.showHistory && e.showLayer) {
                for (var n = 1, i = 0, o = t.item.length; i < o; i++)1 == t.item[i].ss && n ? (t.item[i].firstRich = 1, n = 0) : t.item[i].firstRich = 0, t.head.ab_result && (t.item[i].ab_result = t.head.ab_result);
                d = t.head.qid, h = t.item;
                var r = u(s, {list: t.item});
                $("#smartbox").html(r).removeClass("none"), e.showingBox = "recommend"
            }
        }, overThis: function (t) {
            var e = this;
            e.smartboxShowing = !0, t.addClass("current"), $("#smartbox").find(".sb_item_rich").removeClass("expand")
        }, outThis: function (t) {
            var e = this;
            e.smartboxShowing = !1, $("#smartbox").find(".sb_item").removeClass("current")
        }, searchWord: function (t, e) {
            var n = this, i = t.data("word");
            return n.losesFocus(!0), e.target && e.target.href && e.target.target && "_blank" == e.target.target ? void n.dataReport($(e.target)) : ($("#keywords").val(i), n.setReportParams({
                    stag: t.data("stag"),
                    smartbox_ab: t.data("abresult")
                }), n.jumpToUrl(), void(t.parent().hasClass("_suggest") && n.dataReport(t, {ival2: 7, sval: ""})))
        }, setReportParams: function (t) {
            $('[name="stag"]').val(t.stag), $('[name="smartbox_ab"]').val(t.smartbox_ab)
        }, jumpToNewSearch: function () {
            var t = this, e = $("#keywords").val();
            t.jumpToUrl(e)
        }, jumpToUrl: function (t) {
            var e = this, n = e.getSearchHistory();
            !$("#keywords").val() && $("#keywords").val(e.defaultWord), e.setSearchHistory($("#keywords").val(), n), $("#keywords").val() == e.defaultWord && e.setReportParams({
                stag: 7,
                smartbox_ab: ""
            }), $("#searchForm").submit()
        }, compileHistoryList: function () {
            var t, e = this, n = e.getSearchHistory();
            e.showLayer && (n && n.length > 0 ? (t = u(c, {list: n}), $("#smartbox").html(t).removeClass("none")) : $("#smartbox").html(""), e.cache = e.cache || {}, e.cache.history ? e.buildHistoryList(e.cache.history, n) : $.when(e.getHotList()).then(function (t) {
                    e.buildHistoryList(t, n), e.cache.history = t
                }), e.showingBox = "history")
        }, buildHistoryList: function (t, e) {
            if (0 == t.returncode) {
                var n = t.words.slice(0, 10 - Math.ceil(e.length / 2)), i = l({list: n});
                $("#smartbox").append(i).removeClass("none")
            }
        }, checkKeyword: function (t, e) {
            var n = this;
            e.val() == n.defaultWord && e.val(""), e.val() ? (n.showLayer = !0, n.getSmartList(t, e)) : (n.showLayer = !0, setTimeout(function () {
                    n.compileHistoryList(t, e)
                }, 50))
        }, losesFocus: function (t) {
            var e = this;
            e.smartboxShowing && !t || (e.showLayer = !1, setTimeout(function () {
                $("#smartbox").addClass("none"), e.showHistory = !1, e.showingBox = ""
            }, 150))
        }, clearHistory: function () {
            var t = this;
            t.losesFocus(!0), localStorage.setItem("searchHistory", "")
        }, dataReport: function (t, e) {
            var n = {1: 1, 5: 102}, i = $.extend({
                qid: d,
                action: 101,
                ival1: Number(t.data("index")) + 1,
                ival2: n[t.data("itemtype")],
                ival7: 11,
                sval: "self",
                sval1: encodeURIComponent($("#keywords").val()),
                sval2: encodeURIComponent(t.data("word")),
                sval3: encodeURIComponent(t.attr("href") || ""),
                sval6: encodeURIComponent(this.report101Sval6()),
                platform: "10201",
                uid: r(),
                curl: encodeURIComponent(location.href)
            }, e || {}), o = [];
            o.push(f);
            for (var a in i)o.push(a, "=", i[a], "&");
            o.push("_t=" + (new Date).valueOf());
            var s = new Image;
            s.onload = s.onerror = s.onabort = p, s.src = o.join("")
        }, report101Sval6: function () {
            for (var t = h || [], e = t.length, n = [], i = 0; i < e; i++)n.push(encodeURIComponent(t[i].word));
            return n.join("+")
        }
    };
    t.exports = g
}, function (module, exports) {
    module.exports = function (d) {
        with (d)return '<div class="sb_suggest _suggest">\n    ' + (d.list || []).map(function (t, e) {
                return "\n        " + (function () {
                        return 1 == t.ss ? '\n            <div class="sb_item sb_item_rich' + (function () {
                                if (t.firstRich)return " expand"
                            }() || "") + '" data-index="' + e + '" data-word="' + t.word + '" data-stag="2" data-abresult="' + (t.ab_result || "") + '">\n                <a href="javascript:;" class="sb_title"><span class="sb_hl">' + t.title + '</span><span class="sb_sub"> ' + t["class"] + '</span></a>\n                <span class="sb_fold_sign"><i class="iconfont arrow_down"></i><i class="iconfont arrow_up"></i></span>\t\n                <div class="sb_richbox">\n                    <a href="javascript:;" class="sb_link">\n                        <img class="sb_pic" src="' + (function () {
                                return t.dc ? "" + _.reProtocol(t.dc) : "//i.gtimg.cn/qqlive/images/20150608/pic_h.png"
                            }() || "") + '">\n                        ' + _comps.mark(t.markLabelList) + "\n                    </a>\n                    " + (function () {
                                return 3 != t.idType ? "\n                        " + (function () {
                                        if (t.ex && t.ex.title)return '\n                            <span class="sb_desc">' + t.ex.title + "</span>\n                        "
                                    }() || "") + "\n                        " + (function () {
                                        if (t.pa)return '\n                            <span class="sb_desc">主演：' + t.pa + "</span>\n                        "
                                    }() || "") + '\n                        <a href="' + t.url + '" target="_blank" class="sb_btn" data-index="' + e + '" data-word="' + t.word + '" data-itemtype="' + t.itemType + '">立即播放</a>\n                    ' : 3 == t.idType && t.ex && t.ex.pl && t.ex.pl.length > 0 ? "\n                        " + (t.ex.pl || []).map(function (e, n) {
                                            return "\n                            " + (function () {
                                                    if (n < 2)return '\n                                <a href="' + e.u + '" target="_blank" class="sb_list" data-index="' + n + '" data-word="' + t.word + '" data-itemtype="' + t.itemType + '">\n                                    <span class="sb_inner">' + e.en + " " + e.ti + "</span>\n                                    " + (function () {
                                                            if (1 == e["new"])return '\n                                        <i class="mark_v"><img src="//i.gtimg.cn/qqlive/images/mark/mark_13.png" srcset="//i.gtimg.cn/qqlive/images/mark/mark_13@2x.png 2x" alt="更新"></i>\n                                    '
                                                        }() || "") + "\n                                </a>\n                                " + (function () {
                                                            if (0 == n)return "\n                                    <pangu> </pangu>\n                                "
                                                        }() || "") + "\n                            "
                                                }() || "") + "\n                        "
                                        }).join("") + "\n                    " : void 0
                            }() || "") + "\n                </div>\n            </div>\n        " : '\n            <div class="sb_item" data-index="' + e + '" data-word="' + t.word + '" data-stag="2" data-abresult="' + (t.ab_result || "") + '">\n                <a href="javascript:;" class="sb_title" data-word="' + t.word + '"><span class="sb_hl">' + t.title + "</span></a>\n            </div>\n        "
                    }() || "") + "\n    "
            }).join("") + "\n</div>\n"
    }
}, function (module, exports) {
    module.exports = function (d) {
        with (d)return '<div class="sb_history">\n    <div class="sb_head">\n        <div class="sb_title">历史记录</div>\n        <div class="sb_tools">\n            <a href="javascript:;" class="sb_del" title="清除搜索记录"><i class="iconfont icon_trash">ထ</i><span class="icon_text">清除记录</span></a>\n        </div>\n    </div>\n    <div class="sb_body">\n        ' + (d.list || []).map(function (t, e) {
                return '\n            <div class="sb_item" data-word="' + _(t.word) + '" data-stag="102" data-abresult=""><a href="javascript:;" title="' + _(t.word) + '" data-word="' + _(t.word) + '">' + _(t.word) + "</a></div>\n        "
            }).join("") + "\n    </div>\n</div>\n"
    }
}, function (module, exports) {
    module.exports = function (d) {
        with (d)return '<div class="sb_hot">\n    <div class="sb_head">\n        <div class="sb_title">热门搜索</div>\n    </div>\n    <div class="sb_body">\n        ' + (d.list || []).map(function (t, e) {
                return '\n            <div class="sb_item sb_item_' + t.c_pos + '" data-word="' + t.c_title + '" data-stag="101" data-abresult=""><a href="javascript:;" title="' + t.c_title + '" data-word="' + t.c_title + '"><span class="sb_num">' + t.c_pos + '</span><span class="sb_name">' + t.c_title + "</span></a></div>\n        "
            }).join("") + "\n    </div>\n</div>"
    }
}, function (t, e, n) {
    var i = n(110), o = {}, r = function (t, e, r) {
        var a = n(111), s = $.extend(i.escape, i, o, r);
        return t($.extend({}, e, {_: s, _comps: a}))
    };
    r.helper = function (t, e) {
        return o[t] = e, this
    }, r.helpers = function (t) {
        return i.extend(o, t), this
    }, t.exports = r
}, function (t, e) {
    t.exports = {
        escape: function (t) {
            return t ? String(t).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&#39;").replace(/"/g, "&quot;") : ""
        }, reProtocol: function (t) {
            return t ? t.replace(/^http:\/\//, "//") : ""
        }, img2x: function (t) {
            return t ? t.replace(/^http:\/\//, "//").replace(/\.\w+$/, function (t) {
                    return "@2x" + t
                }) : ""
        }
    }
}, function (t, e, n) {
    var i = n(112), o = n(109);
    t.exports = {
        mark: function (t) {
            return o(i, {labels: t || []}) || ""
        }
    }
}, function (module, exports) {
    module.exports = function (d) {
        with (d)return "" + (labels || []).map(function (t, e) {
                return "\n    " + function () {
                        var e = ["", "mark_v", "figure_caption"][t.position];
                        return e ? '<span class="' + e + '">' + function () {
                                switch (t.type) {
                                    case 1:
                                        return '<span class="figure_info">' + t.primeText + "</span>";
                                    case 2:
                                        return '<img src="' + _.reProtocol(t.markImageUrl) + '" alt="' + t.primeText + '" srcset="' + _.img2x(t.markImageUrl) + ' 2x"/>';
                                    case 3:
                                        return '<span class="' + t.cssText + '">' + t.primeText + "</span>";
                                    default:
                                        return ""
                                }
                            }() + "</span>" : ""
                    }() + "\n"
            }).join("") + "\n\n"
    }
}, function (t, e, n) {
    !function (e, n) {
        t.exports = n()
    }(this, function () {
        return function (t) {
            function e(i) {
                if (n[i])return n[i].exports;
                var o = n[i] = {exports: {}, id: i, loaded: !1};
                return t[i].call(o.exports, o, o.exports, e), o.loaded = !0, o.exports
            }

            var n = {};
            return e.m = t, e.c = n, e.p = "", e(0)
        }([function (t, e, n) {
            "use strict";
            function i(t) {
                if (window.PLAYER)return t(window.PLAYER);
                if (u)return g.on("playerReady", t);
                u = !0;
                var e = setInterval(function () {
                    window.PLAYER && (clearInterval(e), t(window.PLAYER), g.emit("playerReady", window.PLAYER))
                }, 200)
            }

            function o(t, e) {
                clearTimeout(t.tId), t.tId = setTimeout(function () {
                    t.call(e)
                }, 100)
            }

            function r(t) {
                function e() {
                    if (t.length > 0) {
                        var e = 175, n = $("#mod_player").offset() || {left: 0}, i = $("#mod_player").width();
                        t.css({left: i + n.left - e, right: "initial"})
                    }
                }

                var n = this;
                e(), $(window).resize(function () {
                    o(e, n)
                })
            }

            function a() {
                function t() {
                    return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1)
                }

                return [t(), t(), t(), t()].join("")
            }

            function s() {
                var t = txv.cookie.get("tvfe_boss_uuid");
                return t || (t = a()), t
            }

            var c, l, u, f = n(1), p = n(3), d = n(5), h = n(8), g = new h, v = n(6), m = n(9), _ = new m({
                local: !0,
                namespace: "viptips"
            }), y = !1, b = 0;
            t.exports = {
                init: function () {
                    if (!y && (y = !0, !(txv.ua.ie && txv.ua.ie <= 8) && top == window && "v.qq.com" == location.hostname && (/^\/x\/(cover|page)\//.test(location.pathname) || "/" == location.pathname || "/index.html" == location.pathname) && txv.login.isLogin())) {
                        var t = this;
                        $("body").append(f, p), $("#mod_head_notice_trigger").hover(function () {
                            g.emit("hideVtip")
                        }), $("<link>").attr({
                            rel: "stylesheet",
                            type: "text/css",
                            href: "//vm.gtimg.cn/tencentvideo/vstyle/web/common/style/x_achievement_tips.css"
                        }).appendTo($("head"));
                        var e = $("._viptips_bTips"), n = $("._viptips_gift_coupon"), o = e.find("._bTips_closeBtn"), a = n.find("._coupons_closeBtn"), s = n.find("._viptips_gift_reload"), c = e.find("._viptips_bTips_exchange");
                        o.on("click", function () {
                            e.hide()
                        }), a.on("click", function () {
                            n.hide();
                            var t = setTimeout(function () {
                                e.hide()
                            }, 1e4);
                            g.on("couponShow", function () {
                                clearTimeout(t)
                            })
                        }), c.on("click", v.bind(this.showGift, this)), s.on("click", v.bind(this.reload, this)), r(e);
                        var l;
                        l = txv.login.getUin() ? txv.login.getUin() : (txv.login.getWxAuthCookies() || {}).vuserid;
                        var u = "flag_" + l, h = _.get(u) || 0, m = _.get("day");
                        (t.getDateString() > m || null === m) && _.set(u, h = 0), _.remove("vflag_" + l), _.set("day", t.getDateString()), h >= 1 || d("//buy.video.qq.com/fcgi-bin/paycheck?otype=json&cmd=59853&pf=qq_m_qq-2001-html5-2011&coin_type=2&platform=2", function (n, o) {
                            var r = "";
                            o.myProperty && o.myProperty.length > 0 && (r = o.myProperty[0].propertyCount, i(function (n) {
                                n.on("adStart", function () {
                                    h = _.get(u) || 0, m = _.get("day"), (t.getDateString() > m || null === m) && _.set(u, h = 0), _.set("day", t.getDateString()), h || txv.vip.getVipInfo().done(function (n) {
                                        n && 0 == n.vip && 0 == h && t.lookup(function (n) {
                                            var i = n.vcoin;
                                            r >= i && (e.find("._viptips_show_vcoins").html(i), e.find("._count").html(r), t.showTips(), _.set(u, 1))
                                        })
                                    })
                                })
                            }), _.set(l, r))
                        })
                    }
                }, showTips: function () {
                    var t = $("._viptips_bTips"), e = $("._viptips_gift_coupon");
                    if (t.show(), b = 1, this.boss(11), "none" == e.css("display")) {
                        var n = setTimeout(function () {
                            t.hide()
                        }, 1e4);
                        g.on("couponShow", function () {
                            clearTimeout(n)
                        })
                    }
                }, getDateString: function () {
                    var t = +new Date / 864e5;
                    return Math.floor(t)
                }, getRefId: function (t) {
                    var e = {1009: "3", 1010: "4", 1008: "5", 1007: "6", 1012: "7", 1013: "8", 4001: "11", 4002: "12"};
                    return e[t]
                }, reload: function () {
                    this.boss(13);
                    var t = c + ":1", e = this.getRefId(c);
                    d("//buy.video.qq.com/fcgi-bin/unipay?cmd=59856&pf=qq_m_qq-2001-html5-2011", {
                        sc_type: 100001,
                        otype: "json",
                        subsc_type: 0,
                        ac_id: 110016,
                        pro_type: 0,
                        platform: 2,
                        pro_item: t,
                        ref_id: e
                    }, function (t, e) {
                        e && 0 == e.ret && location.reload()
                    })
                }, showGift: function () {
                    if (l) {
                        var t = $("._viptips_gift_coupon");
                        t.find(".viptips_gift_title").html(l.title), t.find(".viptips_gift_vcoin").html(l.vcoin), t.find(".viptips_gift_pic").attr("src", l.url_pic), t.show(), g.emit("couponShow"), this.boss(12)
                    } else this.lookup(this.showGift)
                }, lookup: v.lock(function (t, e) {
                    var n = this;
                    d("//sns.video.qq.com/fcgi-bin/dlib/dataout?auto_id=2301&pid=0&otype=json", function (i, o) {
                        if (o && o.root && o.root[0] && o.root[0].product_id) {
                            c = o.root[0].product_id;
                            var r = "//task.video.qq.com/fcgi-bin/gift_info?giftid=" + c + "&platform=10&otype=json";
                            d(r, function (i, o) {
                                o && "0" == o.ret && (l = o.gift[0], t(), e && e.call(n, o.gift[0]))
                            })
                        }
                    })
                }), boss: function (t) {
                    var e = "//btrace.qq.com/kvcollect?BossId=3809&Pwd=1896006998", n = {
                        url: location.href,
                        uin: txv.login.getUin() || "",
                        openid: txv.login.getWxAuthCookies() ? txv.login.getWxAuthCookies().openid : "",
                        target: t || "",
                        uuid: s()
                    }, i = [];
                    for (var o in n)n.hasOwnProperty(o) && i.push(o + "=" + encodeURIComponent(n[o]));
                    var r = e + i.join("&"), a = new Image(1, 1);
                    a.src = r
                }
            }
        }, function (t, e, n) {
            t.exports = n(2)
        }, function (t, e) {
            t.exports = '<!-- tip -->\r\n<div class="x_achievement_tips x_achievement_tips_side _viptips_bTips" style="z-index:200;top:100px;">\r\n\t<iframe src="about:blank" frameborder="0" class="iframe_mask"></iframe>\r\n\t<div class="prop_main">\r\n\t\t<i class="prop_arrow"></i>\r\n\t\t<a href="javascript:;" class="btn_close _bTips_closeBtn" title="关闭"></a>\r\n\t\t<div class="title"><span class="_viptips_show_vcoins">300</span> V币可以兑换 VIP会员<span class="keyword">免广告</span>哦~</div>\r\n\t\t<div class="txt cf">\r\n\t\t\t<span class="desc">你拥有 <em class="_count"></em> V币</span>\r\n\t\t\t<div class="x_achievement_btn_control">\r\n\t\t        <a href="javascript:;" class="mod_btn _viptips_bTips_exchange">立即兑换</a>\r\n\t\t    </div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class="icon_videomm"></div>\r\n</div>\r\n\r\n<!--  -->'
        }, function (t, e, n) {
            t.exports = n(4)
        }, function (t, e) {
            t.exports = '<div class="x_achievement_tips x_achievement_tips_prop _viptips_gift_coupon">\r\n\t<iframe src="about:blank" frameborder="0" class="iframe_mask"></iframe>\r\n\t<div class="prop_main">\r\n\t\t<a href="javascript:;" class="btn_close _coupons_closeBtn" title="关闭"></a>\r\n\t\t<h2 class="title viptips_gift_title">腾讯视频VIP1天体验券</h2>\r\n\t\t<div class="txt">\r\n\t\t\t<p class="desc">\r\n\t\t\t\t花费 <span class="keyword viptips_gift_vcoin">300</span> <i class="icon_vcoin_m"></i>\r\n\t\t\t</p>\r\n\t\t</div>\r\n\t\t<div class="prize_wrap">\r\n\t\t\t<span class="helper"></span>\r\n\t\t\t<img class="prize viptips_gift_pic" src="//i.gtimg.cn/qqlive/images/20160718/i1468924503_1.jpg" alt="">\r\n\t\t</div>\r\n\t\t<div class="user_control">\r\n\t\t\t<div class="x_achievement_btn_control">\r\n\t\t        <a href="javascript:;" class="mod_btn gift_status_name _viptips_gift_reload">立即兑换</a>\r\n\t\t    </div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n'
        }, function (t, e, n) {
            "use strict";
            function i() {
            }

            function o() {
                return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1)
            }

            function r(t) {
                t && t.parentNode && t.parentNode.removeChild(t)
            }

            function a(t, e, n) {
                var a;
                if ("object" == typeof e && (a = e, e = n, n = arguments[3]), a = a || {}, "function" != typeof e)throw Error("illegal jsonp callback function:", e);
                n = n || {}, e = e || i;
                var h = document.getElementsByTagName("head") ? document.getElementsByTagName("head")[0] : document.body, g = document.createElement("script"), v = [n.ns || l, f++, o()].join("_"), m = !0, _ = "_t", y = n.time;
                n.callbackid && (v = n.callbackid), y === !1 ? m = !1 : y && (_ = y), a[n.pn || n.callbackName || u] = v, m && (a[_] = +new Date);
                var b = function (t) {
                    r(g), e(null, t)
                }, x = function (t) {
                    r(g), e(t || "error"), window[v] = b = x = i
                }, k = window[v];
                window[v] = function (t) {
                    window[v] = i;
                    try {
                        k && k(t)
                    } finally {
                        b(t), b = x = i
                    }
                }, g.onerror = g.onabort = function (t) {
                    x(t ? t.type : "error")
                }, s.forEach(d, function (e) {
                    "function" == s.type(e) && (t = e(t, a) || t)
                }), g.src = c.queryJoin(t, a), h.appendChild(g), setTimeout(function () {
                    x("timeout")
                }, n.timeout || p)
            }

            var s = n(6), c = n(7), l = "_jsonp", u = "callback", f = 0, p = 2e4, d = [];
            a.timeout = function (t) {
                p = t
            }, a.ns = function (t) {
                l = t
            }, a.pn = function (t) {
                u = t
            }, a.before = function (t) {
                d.push(t)
            }, t.exports = a
        }, function (t, e) {
            "use strict";
            function n(t, e) {
                return t && t.hasOwnProperty && t.hasOwnProperty(e)
            }

            function i() {
                var t;
                return t = function () {
                    setTimeout.apply(window, arguments)
                }
            }

            var o = void 0, r = {
                escape: function (t) {
                    return t ? String(t).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&#39;").replace(/"/g, "&quot;") : ""
                }, type: function (t) {
                    if (null === t)return "null";
                    if (t === o)return "undefined";
                    var e = /\[object (\w+)\]/.exec(Object.prototype.toString.call(t));
                    return e ? e[1].toLowerCase() : ""
                }, keys: function (t) {
                    var e = [];
                    return t ? Object.keys ? Object.keys(t) : (this.objEach(t, function (t) {
                                e.push(t)
                            }), e) : e
                }, bind: function (t, e) {
                    return t.bind ? t.bind(e) : function () {
                            return t.apply(e, arguments)
                        }
                }, extend: function (t) {
                    if ("object" != this.type(t) && "function" != this.type(t))return t;
                    for (var e, i, o = 1, r = arguments.length; o < r; o++) {
                        e = arguments[o];
                        for (i in e)n(e, i) && (t[i] = e[i])
                    }
                    return t
                }, trim: function (t) {
                    return t.trim ? t.trim() : t.replace(/^\s+|\s+$/gm, "")
                }, indexOf: function (t, e) {
                    if (t.indexOf)return t.indexOf(e);
                    var n = -1;
                    return r.some(t, function (t, i) {
                        if (t === e)return n = i, !0
                    }), n
                }, forEach: function (t, e) {
                    if (t.forEach)return t.forEach(e);
                    for (var n = t.length, i = 0; i < n; i++)e(t[i], i);
                    return t
                }, some: function (t, e) {
                    if (t.some)return t.some(e);
                    for (var n = t.length, i = !1, o = 0; o < n; o++)if (e(t[o], o)) {
                        i = !0;
                        break
                    }
                    return i
                }, map: function (t, e) {
                    if (t.map)return t.map(e);
                    for (var n = t.length, i = [], o = 0; o < n; o++)i.push(e(t[o], o));
                    return i
                }, objEach: function (t, e) {
                    if (t)for (var i in t)if (n(t, i) && e(i, t[i]) === !1)break
                }, reduce: function (t, e) {
                    if ("function" != r.type(e))throw new TypeError("Array.prototype.reduce callback must be a function");
                    var n = t.length;
                    if (0 === n && 2 === arguments.length)throw new TypeError("reduce of empty array with no initial value");
                    var i, o = 0;
                    if (arguments.length >= 3) i = arguments[2]; else for (; ;) {
                        if (o in t) {
                            i = t[o++];
                            break
                        }
                        if (++o >= n)throw new TypeError("reduceRight of empty array with no initial value")
                    }
                    for (; o < n; o++)i = e(i, t[o], o, t);
                    return i
                }, filter: function (t, e, n) {
                    if (t.filter)return t.filter(e);
                    for (var i = t.length, o = [], r = 0; r < i; r++) {
                        var a = t[r];
                        e.call(n, a, r, t) && o.push(a)
                    }
                    return o
                }, nextTick: i(), lock: function (t) {
                    var e;
                    return function () {
                        if (!e) {
                            e = !0;
                            var n = [].slice.call(arguments, 0);
                            n.unshift(function () {
                                e = !1
                            }), t.apply(this, n)
                        }
                    }
                }, queue: function (t, e) {
                    function n() {
                        var t = i.shift();
                        if (!t)return void(o = e);
                        o--;
                        var a = t[0], s = t[1], c = t[2];
                        c.unshift(function () {
                            o++, n.apply(this, arguments)
                        }), r.nextTick(function () {
                            return a.apply(s, c)
                        })
                    }

                    e = e || 1;
                    var i = [], o = e;
                    return function () {
                        if (i.push([t, this, [].slice.call(arguments, 0)]), o)return n()
                    }
                }, delegator: function (t) {
                    var e, n = [];
                    return function (i) {
                        return e ? n.push(i) : (e = !0, void t.call(this, function () {
                                e = !1;
                                var t = this, o = arguments;
                                i && i.apply(t, o), r.forEach(n, function (e) {
                                    e && e.apply(t, o)
                                })
                            }))
                    }
                }, once: function (t) {
                    var e, n = arguments;
                    return function () {
                        if (!e && t)return e = !0, t.apply(n.length >= 2 ? n[1] : null, arguments)
                    }
                }
            };
            t.exports = r
        }, function (t, e, n) {
            "use strict";
            var i = n(6), o = {
                queryParse: function (t, e) {
                    if (!t)return {};
                    e = e || "&";
                    var n = t.replace(/^\?/, ""), o = {}, r = n ? n.split(e) : null;
                    return r && r.length > 0 && i.forEach(r, function (t) {
                        t = t.split("=");
                        var e = t.splice(0, 1), n = t.join("=");
                        o[e] = n
                    }), o
                }, queryJoin: function (t, e) {
                    var n = o.queryStringify(e);
                    if (!n)return t;
                    var i;
                    return i = /[\?&]$/.test(t) ? "" : ~t.indexOf("?") ? "&" : "?", t + i + n
                }, queryStringify: function (t, e) {
                    return t ? i.map(i.keys(t), function (e) {
                            return e + "=" + encodeURIComponent(t[e])
                        }).join(e || "&") : ""
                }
            };
            t.exports = o
        }, function (t, e, n) {
            "use strict";
            function i() {
                this._evtObjs = {}, this._outdatedMsgs = {}
            }

            function o() {
            }

            var r = n(6);
            i.prototype.on = function (t, e, n) {
                this._evtObjs[t] || (this._evtObjs[t] = []), this._evtObjs[t].push({handler: e, once: n});
                var i = this;
                return function () {
                    i.off(t, e)
                }
            }, i.prototype.wait = function (t, e) {
                return this._outdatedMsgs[t] ? (e.apply(null, this._outdatedMsgs[t]), o) : this.on(t, e, !0)
            }, i.prototype.off = function (t, e) {
                var n, i = this;
                return n = t ? [t] : r.keys(this._evtObjs), r.forEach(n, function (t) {
                    if (e) {
                        var n = i._evtObjs[t] || [], o = [];
                        r.forEach(n, function (t) {
                            t.handler !== e && o.push(t)
                        }), i._evtObjs[t] = o
                    } else i._evtObjs[t] = []
                }), this
            }, i.prototype.emit = function (t) {
                var e = Array.prototype.slice.call(arguments, 1);
                this._outdatedMsgs[t] = e;
                var n = this._evtObjs[t] || [];
                r.forEach(n, function (t) {
                    t.once && t.called || (t.called = !0, t.handler && t.handler.apply(null, e))
                })
            }, i.prototype.emitAsync = function () {
                var t = arguments, e = this;
                setTimeout(function () {
                    e.emit.apply(e, t)
                }, 0)
            }, i.prototype.assign = function (t) {
                var e = this;
                r.forEach(["on", "off", "wait", "emit", "emitAsync"], function (n) {
                    var i = e[n];
                    t[n] = function () {
                        return i.apply(e, arguments)
                    }
                })
            }, (new i).assign(i), t.exports = i
        }, function (t, e, n) {
            "use strict";
            function i() {
            }

            function o() {
            }

            function r() {
            }

            var a, s, c = n(6), l = {}, u = {};
            a = "localStorage" in window && null !== window.localStorage, s = "sessionStorage" in window && null !== window.sessionStorage;
            try {
                a && window.localStorage.setItem("_store_detection_test_", "hasLocal")
            } catch (f) {
                a = !1
            }
            try {
                s && window.sessionStorage.setItem("_store_detection_test_", "hasLocal")
            } catch (f) {
                s = !1
            }
            i.prototype = {
                get: function (t) {
                    return localStorage.getItem(t)
                }, set: function (t, e) {
                    localStorage.setItem(t, e)
                }, remove: function (t) {
                    localStorage.removeItem(t)
                }, keys: function () {
                    return c.keys(localStorage)
                }
            }, o.prototype = {
                get: function (t) {
                    return sessionStorage.getItem(t)
                }, set: function (t, e) {
                    sessionStorage.setItem(t, e)
                }, remove: function (t) {
                    sessionStorage.removeItem(t)
                }, keys: function () {
                    return c.keys(sessionStorage)
                }
            }, r.prototype = {
                get: function (t) {
                    return l[t]
                }, set: function (t, e) {
                    l[t] = e
                }, remove: function (t) {
                    delete l[t]
                }, keys: function () {
                    return c.keys(l)
                }
            };
            var p = function (t) {
                t = t || {}, t.local && a ? this.storage = new i : t.local && !a || t.session && s ? this.storage = new o : this.storage = new r, this.namespace = t.namespace ? t.namespace + "_" : "", this.expire = t.expire, this.removeExpired()
            };
            p.prototype = {
                get: function (t) {
                    t = this.namespace + (t || "");
                    var e, n = this.storage.get(t);
                    try {
                        e = JSON.parse(n)
                    } catch (i) {
                        e = n
                    }
                    if (e) {
                        if ("object" != c.type(e) || !("expire" in e) || e.expire > (new Date).getTime())return e.data;
                        this.remove(t)
                    }
                    return null
                }, set: function (t, e, n) {
                    t = this.namespace + (t || ""), n = this.expire || n;
                    var i = {data: e};
                    n > 0 && (i.expire = (new Date).getTime() + 1e3 * n);
                    try {
                        var o = window.JSON && JSON.stringify ? JSON.stringify(i) : i;
                        this.storage.set(t, o)
                    } catch (r) {
                    }
                }, remove: function (t) {
                    t = this.namespace + (t || ""), this.storage.remove(t)
                }, removeExpired: function () {
                    var t = this, e = "";
                    this.storage instanceof i ? e = "LS" : this.storage instanceof o ? e = "Session" : this.storage instanceof r && (e = "Memory"), e && !u[e] && (u[e] = !0, setTimeout(function () {
                        try {
                            c.forEach(t.storage.keys(), function (e) {
                                var n = t.storage.get(e);
                                try {
                                    n = JSON.parse(n)
                                } catch (i) {
                                    return
                                }
                                n && "object" == c.type(n) && "expire" in n && n.expire <= (new Date).getTime() && t.storage.remove(e)
                            }), u[e] = !1
                        } catch (n) {
                            console.log("[Store] removeExpired error:", n)
                        }
                    }, 6e4))
                }
            }, t.exports = p
        }])
    })
}, function (t, e, n) {
    "use strict";
    var i = n(115), o = n(10);
    t.exports = {
        init: function () {
            if ("v.qq.com" === location.host) {
                var t, e = navigator.userAgent.toLowerCase();
                (t = e.match(/chrome\/([\d.]+)/)) && (t = t[1]);
                var n = e.indexOf("qqbrowser") > 0;
                if (t && !n) {
                    var r = 0;
                    o.get("browser-tips-close", function (e) {
                        if (e && (r = parseInt(e, 10)), r < 2) {
                            var n = t.split(".");
                            if (n && n.length && "53" === n[0]) {
                                $(".site_head").size() && !$(".site_common_head").size() && $("body").addClass("body_topbar"), $("body").prepend(i({}));
                                var a = $("#browser-tips");
                                a.find(".btn_close").click(function () {
                                    o.set("browser-tips-close", r + 1), a.remove(), $("body").removeClass("body_topbar")
                                }), a.find(".btn_primary").attr("href", "https://www.baidu.com/s?wd=chrome")
                            }
                        }
                    })
                }
            }
        }
    }
}, function (module, exports) {
    module.exports = function (d) {
        with (d)return '<div class="mod_topbar_tips" id="browser-tips">\n    <span class="topbar_tip_txt">很抱歉，当前浏览器版本可能导致无法登录、视频无法播放等问题，请尽快升级，享受更好的观影体验。</span>\n    <a href="javascript:;" target="_blank" class="btn_primary">立即升级</a>\n    <a href="javascript:;" class="btn_close"><i class="icon_xs icon_close_xs"><svg class="svg_icon svg_icon_close_xs" viewBox="0 0 10 10"><path d="M7 6h1v1h1v1h1v2h-2v-1h-1v-1h-1v-1h-2v1h-1v1h-1v1h-2v-2h1v-1h1v-1h1v-2h-1v-1h-1v-1h-1v-2h2v1h1v1h1v1h2v-1h1v-1h1v-1h2v2h-1v1h-1v1h-1v2z"></path></svg></i></a>\n</div>'
    }
}]);